diff --git a/daemon/fw/forwarder.cpp b/daemon/fw/forwarder.cpp
index 1ce3b8f..67aeba7 100644
--- a/daemon/fw/forwarder.cpp
+++ b/daemon/fw/forwarder.cpp
@@ -73,6 +73,7 @@
 {
   // receive Interest
   NFD_LOG_DEBUG("onIncomingInterest face=" << inFace.getId() << " interest=" << interest.getName());
+  const_cast<Interest&>(interest).setIncomingFaceId(inFace.getId());
   
   // PIT insert
   std::pair<shared_ptr<pit::Entry>, bool>
@@ -181,6 +182,7 @@
 {
   // receive Data
   NFD_LOG_DEBUG("onIncomingData face=" << inFace.getId() << " data=" << data.getName());
+  const_cast<Data&>(data).setIncomingFaceId(inFace.getId());
   
   // PIT match
   shared_ptr<pit::DataMatchResult> pitMatches = m_pit.findAllDataMatches(data);
diff --git a/tests/fw/forwarder.cpp b/tests/fw/forwarder.cpp
index cf5115f..23d8828 100644
--- a/tests/fw/forwarder.cpp
+++ b/tests/fw/forwarder.cpp
@@ -107,12 +107,14 @@
   io.reset();
   BOOST_REQUIRE_EQUAL(face2->m_sentInterests.size(), 1);
   BOOST_CHECK(face2->m_sentInterests[0].getName().equals(nameAB));
+  BOOST_CHECK_EQUAL(face2->m_sentInterests[0].getIncomingFaceId(), face1->getId());
   
   face2->receiveData(dataABC);
   io.run();
   io.reset();
   BOOST_REQUIRE_EQUAL(face1->m_sentDatas.size(), 1);
   BOOST_CHECK(face1->m_sentDatas[0].getName().equals(nameABC));
+  BOOST_CHECK_EQUAL(face1->m_sentDatas[0].getIncomingFaceId(), face2->getId());
 }
 
 BOOST_AUTO_TEST_SUITE_END()
