diff --git a/src/detail/face-impl.hpp b/src/detail/face-impl.hpp
index 98fda53..808355f 100644
--- a/src/detail/face-impl.hpp
+++ b/src/detail/face-impl.hpp
@@ -167,6 +167,12 @@
   }
 
   void
+  asyncRemoveAllPendingInterests()
+  {
+    m_pendingInterestTable.clear();
+  }
+
+  void
   asyncPutData(const shared_ptr<const Data>& data)
   {
     this->ensureConnected(true);
diff --git a/src/face.cpp b/src/face.cpp
index 336e85e..9d6b0dd 100644
--- a/src/face.cpp
+++ b/src/face.cpp
@@ -218,6 +218,12 @@
   m_ioService.post([=] { m_impl->asyncRemovePendingInterest(pendingInterestId); });
 }
 
+void
+Face::removeAllPendingInterests()
+{
+  m_ioService.post([=] { m_impl->asyncRemoveAllPendingInterests(); });
+}
+
 size_t
 Face::getNPendingInterests() const
 {
diff --git a/src/face.hpp b/src/face.hpp
index a07e293..e07f541 100644
--- a/src/face.hpp
+++ b/src/face.hpp
@@ -273,6 +273,12 @@
   removePendingInterest(const PendingInterestId* pendingInterestId);
 
   /**
+   * @brief Cancel all previously expressed Interests
+   */
+  void
+  removeAllPendingInterests();
+
+  /**
    * @brief Get number of pending Interests
    */
   size_t
diff --git a/tests/unit-tests/face.t.cpp b/tests/unit-tests/face.t.cpp
index 4127655..438dde5 100644
--- a/tests/unit-tests/face.t.cpp
+++ b/tests/unit-tests/face.t.cpp
@@ -243,6 +243,31 @@
   advanceClocks(time::milliseconds(10), 100);
 }
 
+BOOST_AUTO_TEST_CASE(removeAllPendingInterests)
+{
+  face->expressInterest(Interest("/Hello/World/0", time::milliseconds(50)),
+                        bind([] { BOOST_FAIL("Unexpected data"); }),
+                        bind([] { BOOST_FAIL("Unexpected nack"); }),
+                        bind([] { BOOST_FAIL("Unexpected timeout"); }));
+
+  face->expressInterest(Interest("/Hello/World/1", time::milliseconds(50)),
+                        bind([] { BOOST_FAIL("Unexpected data"); }),
+                        bind([] { BOOST_FAIL("Unexpected nack"); }),
+                        bind([] { BOOST_FAIL("Unexpected timeout"); }));
+
+  advanceClocks(time::milliseconds(10));
+
+  face->removeAllPendingInterests();
+  advanceClocks(time::milliseconds(10));
+
+  BOOST_CHECK_EQUAL(face->getNPendingInterests(), 0);
+
+  face->receive(*util::makeData("/Hello/World/0"));
+  face->receive(*util::makeData("/Hello/World/1"));
+  advanceClocks(time::milliseconds(10), 100);
+}
+
+
 BOOST_AUTO_TEST_CASE(SetUnsetInterestFilter)
 {
   size_t nInterests = 0;
