hotfix #1
diff --git a/model/ccnx-l3-protocol.cc b/model/ccnx-l3-protocol.cc
index 13bf2f0..e5f7f0c 100644
--- a/model/ccnx-l3-protocol.cc
+++ b/model/ccnx-l3-protocol.cc
@@ -275,15 +275,17 @@
   // No matter is it duplicate or not, if it is a NACK message, remove all possible incoming
   // entries for this interface (NACK means that neighbor gave up trying and there is no
   // point of sending data in this direction)
+    NS_LOG_INFO("Before (header->IsNack()) && (pitEntry != m_pit->end ())");
   if ((header->IsNack()) && (pitEntry != m_pit->end ()))
     {
       //m_pit->erase (pitEntry);
         m_pit->modify(pitEntry, CcnxPitEntry::DeleteIncoming(incomingFace));
     }
     
-    
+    NS_LOG_INFO("Before WasRecentlySatisfied");
   if (m_rit->WasRecentlySatisfied (*header))
     {
+        NS_LOG_INFO("Entering WasRecentlySatisfied");
       // duplicate interests (same nonce) from applications are just ignored
       if (incomingFace->IsLocal() == true) 
           return;
@@ -429,6 +431,7 @@
   // method `propagateInterest' can/should try different interface
   // from `availableInterfaces' list
     
+  NS_LOG_INFO("Before SetRecentlySatisfied");
   m_rit->SetRecentlySatisfied (*header); 
 
   NS_LOG_INFO("Cache Lookup for " << header->GetName());
@@ -444,21 +447,28 @@
     }
   
   // Data is not in cache
-
+  NS_LOG_INFO("Before inFace and OutFace");
   CcnxPitEntryIncomingFaceContainer::type::iterator inFace = pitEntry->m_incoming.find (incomingFace);
   CcnxPitEntryOutgoingFaceContainer::type::iterator outFace = pitEntry->m_outgoing.find (incomingFace);
     
+     NS_LOG_INFO("Before (pitEntry != m_pit->end()) && (pitEntry->m_timerExpired == false)");
   if ((pitEntry != m_pit->end()) && (pitEntry->m_timerExpired == false))
     {
-        //CcnxFibFaceMetricContainer::type m_faces;
-        //pitEntry->m_fibEntry->m_faces
+        NS_LOG_INFO("Entering (pitEntry != m_pit->end()) && (pitEntry->m_timerExpired == false)");
+        
+        if(inFace->m_face == NULL)
+            NS_LOG_INFO("in face is null");
+        if(outFace->m_face == NULL)
+            NS_LOG_INFO("outface is null");
         
         // If we're expecting data from the interface we got the interest from ("producer" asks us for "his own" data)
         // Give up this interface, but keep a small hope when the returned packet doesn't have PRUNE status
-        if( inFace->m_face == outFace->m_face )
+        if( outFace != pitEntry->m_outgoing.end())
         {
+            NS_LOG_INFO("Entering outFace != pitEntry->m_outgoing.end()");
             if( header->IsCongested() == true )
             {
+                NS_LOG_INFO("Entering header->IsCongested() == true");
                 m_pit->LeakBucket(incomingFace, 1);
                 m_pit->modify (pitEntry, CcnxPitEntry::DeleteOutgoing(outFace->m_face));
             }
@@ -472,7 +482,7 @@
         }
     }
 
-    
+  NS_LOG_INFO("Before (pitEntry->m_outgoing.size() == 0) && (pitEntry->m_fibEntry.m_faces.size() == 0)");
   if((pitEntry->m_outgoing.size() == 0) && (pitEntry->m_fibEntry.m_faces.size() == 0))
       // prune all incoming interests
     {