diff --git a/test/test-ccnx-tunnel.cc b/test/test-ccnx-tunnel.cc
index 03f4250..5a5abc5 100644
--- a/test/test-ccnx-tunnel.cc
+++ b/test/test-ccnx-tunnel.cc
@@ -22,9 +22,21 @@
   virtual Name
   queryRoutableName(const Name &name);
 
+  void
+  overridePrefix();
+
 };
 
-DummyTunnel::DummyTunnel() : CcnxTunnel() {m_localPrefix = Name("/local");}
+DummyTunnel::DummyTunnel() : CcnxTunnel()
+{
+  m_localPrefix = Name("/local");
+}
+
+void
+DummyTunnel::overridePrefix()
+{
+  CcnxWrapper::setInterestFilter(m_localPrefix, bind(&DummyTunnel::handleTunneledInterest, this, _1));
+}
 
 Name
 DummyTunnel::queryRoutableName (const Name &name)
@@ -36,9 +48,12 @@
 CcnxWrapperPtr t2(new DummyTunnel());
 CcnxWrapperPtr c1(new CcnxWrapper());
 
+DummyTunnel t3;
+
 // global data callback counter;
 int g_dc_i = 0;
 int g_dc_o = 0;
+int g_ic = 0;
 
 void innerCallback(const Name &name, const Bytes &content)
 {
@@ -52,7 +67,12 @@
   g_dc_o ++;
 }
 
-
+void interestCallback(const Name &name)
+{
+  string strName = name.toString();
+  t3.publishData(name, (const unsigned char *)strName.c_str(), strName.size(), 5);
+  g_ic++;
+}
 
 BOOST_AUTO_TEST_CASE (CcnxTunnelTest)
 {
@@ -79,5 +99,29 @@
 
 }
 
+BOOST_AUTO_TEST_CASE (CcnxTunnelRegister)
+{
+
+  g_ic = 0;
+  g_dc_i = 0;
+  t3.overridePrefix();
+  t3.setInterestFilter(Name("/t3"), bind(interestCallback, _1));
+  usleep(100000);
+  Closure *innerClosure = new Closure(1, bind(innerCallback, _1, _2));
+  t1->sendInterest(Name("/t3/hello"), innerClosure);
+  usleep(100000);
+  BOOST_CHECK_EQUAL(g_dc_i, 1);
+  BOOST_CHECK_EQUAL(g_ic, 1);
+
+  t3.clearInterestFilter(Name("/t3"));
+  usleep(100000);
+  t1->sendInterest(Name("/t3/hello-there"), innerClosure);
+  usleep(100000);
+  BOOST_CHECK_EQUAL(g_dc_i, 1);
+  BOOST_CHECK_EQUAL(g_ic, 1);
+  delete innerClosure;
+
+}
+
 
 BOOST_AUTO_TEST_SUITE_END()
