diff --git a/tests/daemon/fw/strategy-scope-control.t.cpp b/tests/daemon/fw/strategy-scope-control.t.cpp
index ec88374..a2fa21d 100644
--- a/tests/daemon/fw/strategy-scope-control.t.cpp
+++ b/tests/daemon/fw/strategy-scope-control.t.cpp
@@ -116,7 +116,7 @@
                                  T, Tests, StrategyScopeControlFixture<typename T::Strategy>)
 {
   fib::Entry* fibEntry = this->fib.insert("/localhost/A").first;
-  fibEntry->addOrUpdateNextHop(*this->localFace4, 10);
+  this->fib.addOrUpdateNextHop(*fibEntry, *this->localFace4, 10);
 
   auto interest = makeInterest("/localhost/A/1");
   shared_ptr<pit::Entry> pitEntry = this->pit.insert(*interest).first;
@@ -135,7 +135,7 @@
                                  T, Tests, StrategyScopeControlFixture<typename T::Strategy>)
 {
   fib::Entry* fibEntry = this->fib.insert("/localhost/A").first;
-  fibEntry->addOrUpdateNextHop(*this->nonLocalFace2, 10);
+  this->fib.addOrUpdateNextHop(*fibEntry, *this->nonLocalFace2, 10);
 
   auto interest = makeInterest("/localhost/A/1");
   shared_ptr<pit::Entry> pitEntry = this->pit.insert(*interest).first;
@@ -157,8 +157,8 @@
                                  T, Tests, StrategyScopeControlFixture<typename T::Strategy>)
 {
   fib::Entry* fibEntry = this->fib.insert("/localhost/A").first;
-  fibEntry->addOrUpdateNextHop(*this->nonLocalFace2, 10);
-  fibEntry->addOrUpdateNextHop(*this->localFace4, 20);
+  this->fib.addOrUpdateNextHop(*fibEntry, *this->nonLocalFace2, 10);
+  this->fib.addOrUpdateNextHop(*fibEntry, *this->localFace4, 20);
 
   auto interest = makeInterest("/localhost/A/1");
   shared_ptr<pit::Entry> pitEntry = this->pit.insert(*interest).first;
@@ -178,7 +178,7 @@
                                  T, Tests, StrategyScopeControlFixture<typename T::Strategy>)
 {
   fib::Entry* fibEntry = this->fib.insert("/localhop/A").first;
-  fibEntry->addOrUpdateNextHop(*this->nonLocalFace2, 10);
+  this->fib.addOrUpdateNextHop(*fibEntry, *this->nonLocalFace2, 10);
 
   auto interest = makeInterest("/localhop/A/1");
   shared_ptr<pit::Entry> pitEntry = this->pit.insert(*interest).first;
@@ -200,8 +200,8 @@
                                  T, Tests, StrategyScopeControlFixture<typename T::Strategy>)
 {
   fib::Entry* fibEntry = this->fib.insert("/localhop/A").first;
-  fibEntry->addOrUpdateNextHop(*this->nonLocalFace2, 10);
-  fibEntry->addOrUpdateNextHop(*this->localFace4, 20);
+  this->fib.addOrUpdateNextHop(*fibEntry, *this->nonLocalFace2, 10);
+  this->fib.addOrUpdateNextHop(*fibEntry, *this->localFace4, 20);
 
   auto interest = makeInterest("/localhop/A/1");
   shared_ptr<pit::Entry> pitEntry = this->pit.insert(*interest).first;
@@ -221,8 +221,8 @@
                                  T, Tests, StrategyScopeControlFixture<typename T::Strategy>)
 {
   fib::Entry* fibEntry = this->fib.insert("/localhost/A").first;
-  fibEntry->addOrUpdateNextHop(*this->localFace4, 10);
-  fibEntry->addOrUpdateNextHop(*this->nonLocalFace2, 20);
+  this->fib.addOrUpdateNextHop(*fibEntry, *this->localFace4, 10);
+  this->fib.addOrUpdateNextHop(*fibEntry, *this->nonLocalFace2, 20);
 
   auto interest = makeInterest("/localhost/A/1", false, nullopt, 1460);
   shared_ptr<pit::Entry> pitEntry = this->pit.insert(*interest).first;
@@ -246,8 +246,8 @@
                                  T, Tests, StrategyScopeControlFixture<typename T::Strategy>)
 {
   fib::Entry* fibEntry = this->fib.insert("/localhop/A").first;
-  fibEntry->addOrUpdateNextHop(*this->localFace4, 10);
-  fibEntry->addOrUpdateNextHop(*this->nonLocalFace2, 20);
+  this->fib.addOrUpdateNextHop(*fibEntry, *this->localFace4, 10);
+  this->fib.addOrUpdateNextHop(*fibEntry, *this->nonLocalFace2, 20);
 
   auto interest = makeInterest("/localhop/A/1", 1377);
   shared_ptr<pit::Entry> pitEntry = this->pit.insert(*interest).first;
