diff --git a/tests/face/dummy-face.hpp b/tests/face/dummy-face.hpp
index a28a1bb..4e4bb57 100644
--- a/tests/face/dummy-face.hpp
+++ b/tests/face/dummy-face.hpp
@@ -44,6 +44,7 @@
   virtual void
   close()
   {
+    this->onFail("close");
   }
 
   void
diff --git a/tests/fw/client-control-strategy.cpp b/tests/fw/client-control-strategy.cpp
index aab5baa..51534a4 100644
--- a/tests/fw/client-control-strategy.cpp
+++ b/tests/fw/client-control-strategy.cpp
@@ -64,7 +64,7 @@
   shared_ptr<pit::Entry> pitEntry3 = pit.insert(*interest3).first;
   pitEntry3->insertOrUpdateInRecord(face4, *interest3);
 
-  forwarder.removeFace(face3); // face3 is removed and its FaceId becomes invalid
+  face3->close(); // face3 is closed and its FaceId becomes invalid
   strategy.m_sendInterestHistory.clear();
   strategy.m_rejectPendingInterestHistory.clear();
   strategy.afterReceiveInterest(*face4, *interest3, fibEntry, pitEntry3);
diff --git a/tests/fw/face-table.cpp b/tests/fw/face-table.cpp
index 474a756..b07995f 100644
--- a/tests/fw/face-table.cpp
+++ b/tests/fw/face-table.cpp
@@ -32,8 +32,8 @@
   BOOST_CHECK_NE(face2->getId(), INVALID_FACEID);
   BOOST_CHECK_NE(face1->getId(), face2->getId());
 
-  forwarder.removeFace(face1);
-  forwarder.removeFace(face2);
+  face1->close();
+  face2->close();
 
   BOOST_CHECK_EQUAL(face1->getId(), INVALID_FACEID);
   BOOST_CHECK_EQUAL(face2->getId(), INVALID_FACEID);
@@ -77,7 +77,7 @@
   BOOST_CHECK(hasFace1);
   BOOST_CHECK(hasFace2);
 
-  faceTable.remove(face1);
+  face1->close();
   BOOST_CHECK_EQUAL(faceTable.size(), 1);
   BOOST_CHECK_EQUAL(std::distance(faceTable.begin(), faceTable.end()), faceTable.size());
   hasFace1 = hasFace2 = false;
diff --git a/tests/mgmt/face-manager.cpp b/tests/mgmt/face-manager.cpp
index 80e14d7..310a425 100644
--- a/tests/mgmt/face-manager.cpp
+++ b/tests/mgmt/face-manager.cpp
@@ -81,11 +81,11 @@
     m_addFired = true;
   }
 
-  virtual void
-  remove(shared_ptr<Face> face)
-  {
-    m_removeFired = true;
-  }
+//  virtual void
+//  remove(shared_ptr<Face> face)
+//  {
+//    m_removeFired = true;
+//  }
 
   virtual shared_ptr<Face>
   get(FaceId id) const
@@ -100,11 +100,11 @@
     return m_addFired;
   }
 
-  bool
-  didRemoveFire() const
-  {
-    return m_removeFired;
-  }
+//  bool
+//  didRemoveFire() const
+//  {
+//    return m_removeFired;
+//  }
 
   bool
   didGetFire() const
@@ -292,11 +292,11 @@
     return m_faceTable.didAddFire();
   }
 
-  bool
-  didFaceTableRemoveFire() const
-  {
-    return m_faceTable.didRemoveFire();
-  }
+//  bool
+//  didFaceTableRemoveFire() const
+//  {
+//    return m_faceTable.didRemoveFire();
+//  }
 
   bool
   didFaceTableGetFire() const
@@ -1022,7 +1022,7 @@
   destroyFace(command->getName(), options);
 
   BOOST_REQUIRE(didCallbackFire());
-  BOOST_CHECK(TestFaceTableFixture::m_faceTable.didRemoveFire());
+//  BOOST_CHECK(TestFaceTableFixture::m_faceTable.didRemoveFire());
   BOOST_CHECK(TestFaceTableFixture::m_faceTable.getDummyFace()->didCloseFire());
 }
 
