diff --git a/tests/tools/nfdc/fib-module.t.cpp b/tests/tools/nfdc/fib-module.t.cpp
index 0897c01..9476500 100644
--- a/tests/tools/nfdc/fib-module.t.cpp
+++ b/tests/tools/nfdc/fib-module.t.cpp
@@ -42,24 +42,16 @@
       <nextHops>
         <nextHop>
           <faceId>262</faceId>
-          <endpointId>1</endpointId>
           <cost>9</cost>
         </nextHop>
         <nextHop>
           <faceId>272</faceId>
-          <endpointId>2</endpointId>
           <cost>50</cost>
         </nextHop>
         <nextHop>
           <faceId>274</faceId>
-          <endpointId>3</endpointId>
           <cost>78</cost>
         </nextHop>
-        <nextHop>
-          <faceId>275</faceId>
-          <endpointId>0</endpointId>
-          <cost>80</cost>
-        </nextHop>
       </nextHops>
     </fibEntry>
     <fibEntry>
@@ -67,12 +59,10 @@
       <nextHops>
         <nextHop>
           <faceId>1</faceId>
-          <endpointId>0</endpointId>
           <cost>0</cost>
         </nextHop>
         <nextHop>
           <faceId>274</faceId>
-          <endpointId>5</endpointId>
           <cost>0</cost>
         </nextHop>
       </nextHops>
@@ -82,8 +72,8 @@
 
 const std::string STATUS_TEXT = std::string(R"TEXT(
 FIB:
-  / nexthops={face=262:1 (cost=9), face=272:2 (cost=50), face=274:3 (cost=78), face=275 (cost=80)}
-  /localhost/nfd nexthops={face=1 (cost=0), face=274:5 (cost=0)}
+  / nexthops={faceid=262 (cost=9), faceid=272 (cost=50), faceid=274 (cost=78)}
+  /localhost/nfd nexthops={faceid=1 (cost=0), faceid=274 (cost=0)}
 )TEXT").substr(1);
 
 BOOST_AUTO_TEST_CASE(Status)
@@ -91,16 +81,16 @@
   this->fetchStatus();
   FibEntry payload1;
   payload1.setPrefix("/")
-          .addNextHopRecord(NextHopRecord().setFaceId(262).setEndpointId(1).setCost(9))
-          .addNextHopRecord(NextHopRecord().setFaceId(272).setEndpointId(2).setCost(50))
-          .addNextHopRecord(NextHopRecord().setFaceId(274).setEndpointId(3).setCost(78))
-          .addNextHopRecord(NextHopRecord().setFaceId(275).setCost(80));
+          .addNextHopRecord(NextHopRecord().setFaceId(262).setCost(9))
+          .addNextHopRecord(NextHopRecord().setFaceId(272).setCost(50))
+          .addNextHopRecord(NextHopRecord().setFaceId(274).setCost(78));
   FibEntry payload2;
   payload2.setPrefix("/localhost/nfd")
           .addNextHopRecord(NextHopRecord().setFaceId(1).setCost(0))
-          .addNextHopRecord(NextHopRecord().setFaceId(274).setEndpointId(5).setCost(0));
+          .addNextHopRecord(NextHopRecord().setFaceId(274).setCost(0));
   this->sendDataset("/localhost/nfd/fib/list", payload1, payload2);
   this->prepareStatusOutput();
+
   BOOST_CHECK(statusXml.is_equal(STATUS_XML));
   BOOST_CHECK(statusText.is_equal(STATUS_TEXT));
 }
