diff --git a/model/fw/per-fib-limits.h b/model/fw/per-fib-limits.h
index 6a18f13..633bd5e 100644
--- a/model/fw/per-fib-limits.h
+++ b/model/fw/per-fib-limits.h
@@ -169,7 +169,14 @@
   NS_LOG_FUNCTION (this << pitEntry->GetPrefix ());
 
   Ptr<Limits> fibLimits = pitEntry->GetFibEntry ()->template GetObject<Limits> ();
-  fibLimits->ReturnLimit ();
+
+  for (pit::Entry::out_container::iterator face = pitEntry->GetOutgoing ().begin ();
+       face != pitEntry->GetOutgoing ().end ();
+       face ++)
+    {
+      for (uint32_t i = 0; i <= face->m_retxCount; i++)
+        fibLimits->ReturnLimit ();
+    }
 
   super::WillEraseTimedOutPendingInterest (pitEntry);
 }
@@ -183,7 +190,14 @@
   NS_LOG_FUNCTION (this << pitEntry->GetPrefix ());
 
   Ptr<Limits> fibLimits = pitEntry->GetFibEntry ()->template GetObject<Limits> ();
-  fibLimits->ReturnLimit ();
+
+  for (pit::Entry::out_container::iterator face = pitEntry->GetOutgoing ().begin ();
+       face != pitEntry->GetOutgoing ().end ();
+       face ++)
+    {
+      for (uint32_t i = 0; i <= face->m_retxCount; i++)
+        fibLimits->ReturnLimit ();
+    }
 
   super::WillSatisfyPendingInterest (inFace, pitEntry);
 }
diff --git a/model/fw/per-out-face-limits.h b/model/fw/per-out-face-limits.h
index 2929b5b..8182d9a 100644
--- a/model/fw/per-out-face-limits.h
+++ b/model/fw/per-out-face-limits.h
@@ -164,7 +164,8 @@
        face ++)
     {
       Ptr<Limits> faceLimits = face->m_face->GetObject<Limits> ();
-      faceLimits->ReturnLimit ();
+      for (uint32_t i = 0; i <= face->m_retxCount; i++)
+        faceLimits->ReturnLimit ();
     }
 
   super::WillEraseTimedOutPendingInterest (pitEntry);
@@ -183,7 +184,8 @@
        face ++)
     {
       Ptr<Limits> faceLimits = face->m_face->GetObject<Limits> ();
-      faceLimits->ReturnLimit ();
+      for (uint32_t i = 0; i <= face->m_retxCount; i++)
+        faceLimits->ReturnLimit ();
     }
   
   super::WillSatisfyPendingInterest (inFace, pitEntry);
