diff --git a/model/fw/ndn-forwarding-strategy.cc b/model/fw/ndn-forwarding-strategy.cc
index 7532f13..5b51993 100644
--- a/model/fw/ndn-forwarding-strategy.cc
+++ b/model/fw/ndn-forwarding-strategy.cc
@@ -389,20 +389,15 @@
   BOOST_FOREACH (const pit::IncomingFace &incoming, pitEntry->GetIncoming ())
     {
       bool ok = incoming.m_face->Send (origPacket->Copy ());
-      if (ok)
-        {
-          m_outData (header, payload, inFace == 0, incoming.m_face);
-          DidSendOutData (inFace, incoming.m_face, header, payload, origPacket, pitEntry);
 
-          NS_LOG_DEBUG ("Satisfy " << *incoming.m_face);
-        }
-      else
+      DidSendOutData (inFace, incoming.m_face, header, payload, origPacket, pitEntry);
+      NS_LOG_DEBUG ("Satisfy " << *incoming.m_face);
+
+      if (!ok)
         {
           m_dropData (header, payload, incoming.m_face);
           NS_LOG_DEBUG ("Cannot satisfy data to " << *incoming.m_face);
         }
-
-      // successfull forwarded data trace
     }
 
   // All incoming interests are satisfied. Remove them
@@ -570,7 +565,11 @@
 
   //transmission
   Ptr<Packet> packetToSend = origPacket->Copy ();
-  outFace->Send (packetToSend);
+  bool successSend = outFace->Send (packetToSend);
+  if (!successSend)
+    {
+      m_dropInterests (header, outFace);
+    }
 
   DidSendOutInterest (inFace, outFace, header, origPacket, pitEntry);
 
@@ -595,6 +594,7 @@
                                     Ptr<const Packet> origPacket,
                                     Ptr<pit::Entry> pitEntry)
 {
+  m_outData (header, payload, inFace == 0, outFace);
 }
 
 void
