diff --git a/tests/unit-tests/model/ndn-block-header.t.cpp b/tests/unit-tests/model/ndn-block-header.t.cpp
index a8e10a9..5dc65f1 100644
--- a/tests/unit-tests/model/ndn-block-header.t.cpp
+++ b/tests/unit-tests/model/ndn-block-header.t.cpp
@@ -51,6 +51,7 @@
 {
   Interest interest("/prefix");
   interest.setNonce(10);
+  interest.setCanBePrefix(true);
   lp::Packet lpPacket(interest.wireEncode());
   nfd::face::Transport::Packet packet(lpPacket.wireEncode());
   BlockHeader header(packet);
@@ -91,6 +92,7 @@
 {
   Interest interest("/prefix");
   interest.setNonce(10);
+  interest.setCanBePrefix(true);
 
   lp::Packet lpPacket;
   lpPacket.add<::ndn::lp::SequenceField>(0); // to make sure that the NDNLP header is added
diff --git a/tests/unit-tests/model/ndn-l3-protocol.t.cpp b/tests/unit-tests/model/ndn-l3-protocol.t.cpp
index b8e51b8..cbfba58 100644
--- a/tests/unit-tests/model/ndn-l3-protocol.t.cpp
+++ b/tests/unit-tests/model/ndn-l3-protocol.t.cpp
@@ -62,6 +62,7 @@
         return make_shared<TesterApp>([this] (::ndn::Face& face) {
             for (const Name& dataset : requestedDatasets) {
               Interest i(dataset);
+              i.setCanBePrefix(true);
               face.expressInterest(i, [&] (const Interest& i, const Data& data) {
                   BOOST_TEST_MESSAGE(data.getName());
                   receivedDatasets.insert(data.getName().getPrefix(-2));
@@ -93,34 +94,6 @@
                                 receivedDatasets.begin(), receivedDatasets.end());
 }
 
-BOOST_AUTO_TEST_CASE(DisabledRibManager)
-{
-  // Disable RIB manager
-  disableRibManager();
-
-  setupAndRun();
-
-  BOOST_CHECK_EQUAL(requestedDatasets.size(), receivedDatasets.size() + 1);
-
-  requestedDatasets.erase("/localhost/nfd/rib/list");
-  BOOST_CHECK_EQUAL_COLLECTIONS(requestedDatasets.begin(), requestedDatasets.end(),
-                                receivedDatasets.begin(), receivedDatasets.end());
-}
-
-// BOOST_AUTO_TEST_CASE(DisabledFaceManager)
-// {
-//   // Disable Face manager
-//   disableFaceManager();
-
-//   setupAndRun();
-
-//   BOOST_CHECK_EQUAL(requestedDatasets.size(), receivedDatasets.size() + 1);
-
-//   requestedDatasets.erase("/localhost/nfd/faces/list");
-//   BOOST_CHECK_EQUAL_COLLECTIONS(requestedDatasets.begin(), requestedDatasets.end(),
-//                                 receivedDatasets.begin(), receivedDatasets.end());
-// }
-
 BOOST_AUTO_TEST_CASE(DisabledStrategyChoiceManager)
 {
   // Disable Strategy Choice Manager manager
