diff --git a/examples/consumer-with-timer.cpp b/examples/consumer-with-timer.cpp
index 96b2e00..93fcb8b 100644
--- a/examples/consumer-with-timer.cpp
+++ b/examples/consumer-with-timer.cpp
@@ -49,8 +49,8 @@
   i.setMustBeFresh(true);
 
   face.expressInterest(i,
-                       bind(&onData, boost::ref(face), _1, _2),
-                       bind(&onTimeout, boost::ref(face), _1));
+                       bind(&onData, ref(face), _1, _2),
+                       bind(&onTimeout, ref(face), _1));
 }
 
 int
@@ -68,8 +68,8 @@
     // Create face with io_service object
     Face face(ioService);
     face.expressInterest(i,
-                         bind(&onData, boost::ref(face), _1, _2),
-                         bind(&onTimeout, boost::ref(face), _1));
+                         bind(&onData, ref(face), _1, _2),
+                         bind(&onTimeout, ref(face), _1));
 
 
     // Create scheduler object
@@ -77,7 +77,7 @@
 
     // Schedule a new event
     scheduler.scheduleEvent(time::seconds(2),
-                            bind(&delayedInterest, boost::ref(face)));
+                            bind(&delayedInterest, ref(face)));
 
     // ioService.run() will block until all events finished or ioService.stop() is called
     ioService.run();
diff --git a/examples/consumer.cpp b/examples/consumer.cpp
index 8639db0..49d1041 100644
--- a/examples/consumer.cpp
+++ b/examples/consumer.cpp
@@ -47,8 +47,8 @@
 
     Face face;
     face.expressInterest(i,
-                         bind(onData, boost::ref(face), _1, _2),
-                         bind(onTimeout, boost::ref(face), _1));
+                         bind(onData, ref(face), _1, _2),
+                         bind(onTimeout, ref(face), _1));
 
     // processEvents will block until the requested data received or timeout occurs
     face.processEvents();
