diff --git a/tests/unit-tests/helper/ndn-fib-helper.t.cpp b/tests/unit-tests/helper/ndn-fib-helper.t.cpp
index 60a5967..7426fda 100644
--- a/tests/unit-tests/helper/ndn-fib-helper.t.cpp
+++ b/tests/unit-tests/helper/ndn-fib-helper.t.cpp
@@ -38,7 +38,7 @@
     addApps({
         {"1", "ns3::ndn::ConsumerCbr",
             {{"Prefix", "/prefix"}, {"Frequency", "1"}},
-            "0s", "9.99s"},
+            "0s", "10.5s"},
         {"2", "ns3::ndn::Producer",
             {{"Prefix", "/prefix"}, {"PayloadSize", "1024"}},
             "0s", "100s"}
@@ -47,7 +47,7 @@
 
   ~AddRouteFixture()
   {
-    Simulator::Stop(Seconds(20.001));
+    Simulator::Stop(Seconds(20.101));
     Simulator::Run();
 
     BOOST_CHECK_EQUAL(getFace("1", "2")->getCounters().nOutInterests, 10);
diff --git a/tests/unit-tests/helper/ndn-link-control-helper.t.cpp b/tests/unit-tests/helper/ndn-link-control-helper.t.cpp
index 3d79ffa..0df5280 100644
--- a/tests/unit-tests/helper/ndn-link-control-helper.t.cpp
+++ b/tests/unit-tests/helper/ndn-link-control-helper.t.cpp
@@ -55,17 +55,17 @@
   Simulator::Schedule(Seconds(10.1), ndn::LinkControlHelper::UpLink, getNode("1"), getNode("2"));
 
   nfd::getScheduler().schedule(time::milliseconds(5200), [&] {
-      BOOST_CHECK_EQUAL(getFace("2", "1")->getCounters().nInInterests, 6);
-      BOOST_CHECK_EQUAL(getFace("1", "2")->getCounters().nInData, 6);
+      BOOST_CHECK_EQUAL(getFace("2", "1")->getCounters().nInInterests, 5);
+      BOOST_CHECK_EQUAL(getFace("1", "2")->getCounters().nInData, 5);
     });
 
   nfd::getScheduler().schedule(time::milliseconds(10200), [&] {
-      BOOST_CHECK_EQUAL(getFace("2", "1")->getCounters().nInInterests, 6);
-      BOOST_CHECK_EQUAL(getFace("1", "2")->getCounters().nInData, 6);
+      BOOST_CHECK_EQUAL(getFace("2", "1")->getCounters().nInInterests, 5);
+      BOOST_CHECK_EQUAL(getFace("1", "2")->getCounters().nInData, 5);
     });
   nfd::getScheduler().schedule(time::milliseconds(15100), [&] {
-      BOOST_CHECK_EQUAL(getFace("2", "1")->getCounters().nInInterests, 11);
-      BOOST_CHECK_EQUAL(getFace("1", "2")->getCounters().nInData, 11);
+      BOOST_CHECK_EQUAL(getFace("2", "1")->getCounters().nInInterests, 10);
+      BOOST_CHECK_EQUAL(getFace("1", "2")->getCounters().nInData, 10);
     });
 
   Simulator::Stop(Seconds(15.2));
