diff --git a/tests/daemon/fw/face-table.cpp b/tests/daemon/fw/face-table.cpp
index daf9256..3f49525 100644
--- a/tests/daemon/fw/face-table.cpp
+++ b/tests/daemon/fw/face-table.cpp
@@ -46,8 +46,8 @@
   FaceTable& faceTable = forwarder.getFaceTable();
   std::vector<FaceId> onAddHistory;
   std::vector<FaceId> onRemoveHistory;
-  faceTable.onAdd    += bind(&saveFaceId, boost::ref(onAddHistory   ), _1);
-  faceTable.onRemove += bind(&saveFaceId, boost::ref(onRemoveHistory), _1);
+  faceTable.onAdd    += bind(&saveFaceId, ndn::ref(onAddHistory   ), _1);
+  faceTable.onRemove += bind(&saveFaceId, ndn::ref(onRemoveHistory), _1);
 
   shared_ptr<Face> face1 = make_shared<DummyFace>();
   shared_ptr<Face> face2 = make_shared<DummyFace>();
diff --git a/tests/daemon/fw/forwarder.cpp b/tests/daemon/fw/forwarder.cpp
index 0151460..0b72a0d 100644
--- a/tests/daemon/fw/forwarder.cpp
+++ b/tests/daemon/fw/forwarder.cpp
@@ -300,9 +300,9 @@
 
   StrategyChoice& strategyChoice = forwarder.getStrategyChoice();
   shared_ptr<DummyStrategy> strategyP = make_shared<DummyStrategy>(
-                                        boost::ref(forwarder), "ndn:/strategyP");
+                                        ref(forwarder), "ndn:/strategyP");
   shared_ptr<DummyStrategy> strategyQ = make_shared<DummyStrategy>(
-                                        boost::ref(forwarder), "ndn:/strategyQ");
+                                        ref(forwarder), "ndn:/strategyQ");
   strategyChoice.install(strategyP);
   strategyChoice.install(strategyQ);
   strategyChoice.insert("ndn:/" , strategyP->getName());
diff --git a/tests/daemon/fw/ncc-strategy.cpp b/tests/daemon/fw/ncc-strategy.cpp
index 29db3b3..9e1f7bc 100644
--- a/tests/daemon/fw/ncc-strategy.cpp
+++ b/tests/daemon/fw/ncc-strategy.cpp
@@ -43,7 +43,7 @@
   LimitedIo limitedIo;
   Forwarder forwarder;
   typedef StrategyTester<fw::NccStrategy> NccStrategyTester;
-  shared_ptr<NccStrategyTester> strategy = make_shared<NccStrategyTester>(boost::ref(forwarder));
+  shared_ptr<NccStrategyTester> strategy = make_shared<NccStrategyTester>(ref(forwarder));
   strategy->onAction += bind(&LimitedIo::afterOp, &limitedIo);
 
   shared_ptr<DummyFace> face1 = make_shared<DummyFace>();
