diff --git a/model/fw/per-fib-limits.cc b/model/fw/per-fib-limits.cc
index df4607d..d79a8fc 100644
--- a/model/fw/per-fib-limits.cc
+++ b/model/fw/per-fib-limits.cc
@@ -190,17 +190,20 @@
        queue != m_pitQueues.end ();
        queue++)
     {
-      if (queue->second.IsEmpty ())
-        continue;
+      Ptr<Face> outFace = queue->first;
+      
+      while (!queue->second.IsEmpty () && outFace->GetLimits ().IsBelowLimit ())
+        {
+          // now we have enqueued packet and have slot available. Send out delayed packet
+          Ptr<pit::Entry> pitEntry = queue->second.Pop ();
+          pitEntry->AddOutgoing (outFace);
 
-      // if (outFace->GetLimits ().IsBelowLimit ())
-      //   {
-      //     pitEntry->AddOutgoing (outFace);
-      //   }
-      // else
-      //   {
-      //     // do nothing
-      //   }
+          Ptr<Packet> packetToSend = Create<Packet> ();
+          packetToSend->AddHeader (*pitEntry->GetInterest ());
+          
+          outFace->Send (packetToSend);
+          DidSendOutInterest (outFace, pitEntry->GetInterest (), packetToSend, pitEntry);
+        }
     }
 }
 
diff --git a/model/pit/ndn-pit-entry.cc b/model/pit/ndn-pit-entry.cc
index 95b81dd..4dcf6d0 100644
--- a/model/pit/ndn-pit-entry.cc
+++ b/model/pit/ndn-pit-entry.cc
@@ -241,6 +241,11 @@
   return m_maxRetxCount;
 }
 
+Ptr<const InterestHeader>
+Entry::GetInterest () const
+{
+  return m_interest;
+}
 
 std::ostream& operator<< (std::ostream& os, const Entry &entry)
 {
diff --git a/model/pit/ndn-pit-entry.h b/model/pit/ndn-pit-entry.h
index 1dc4264..ecec2a6 100644
--- a/model/pit/ndn-pit-entry.h
+++ b/model/pit/ndn-pit-entry.h
@@ -272,6 +272,12 @@
   inline void
   RemoveFwTag ();
 
+  /**
+   * @brief Get InterestHeader (if several interests are received, then nonce is from the first Interest)
+   */
+  Ptr<const InterestHeader>
+  GetInterest () const;
+
 private:
   friend std::ostream& operator<< (std::ostream& os, const Entry &entry);
   
