diff --git a/model/forwarding-strategy/fw-stats.cc b/model/forwarding-strategy/fw-stats.cc
index 50c404e..76638e2 100644
--- a/model/forwarding-strategy/fw-stats.cc
+++ b/model/forwarding-strategy/fw-stats.cc
@@ -50,6 +50,9 @@
     .SetGroupName ("Ccnx")
     .SetParent <BestRoute> ()
     .AddConstructor <FwStats> ()
+
+    .AddTraceSource ("Stats", "Fired every time stats tree is updated",
+                     MakeTraceSourceAccessor (&FwStats::m_statsTrace))
     ;
   return tid;
 }
@@ -66,6 +69,18 @@
 }
 
 void
+FwStats::FailedToCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
+                                 Ptr<CcnxInterestHeader> header,
+                                 const Ptr<const Packet> &packet)
+{
+  super::FailedToCreatePitEntry (incomingFace, header, packet);
+
+  // Kind of cheating... But at least this way we will have some statistics
+  m_stats.NewPitEntry (header->GetName ());
+  m_stats.Timeout (header->GetName ());
+}
+
+void
 FwStats::DidCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
                             Ptr<CcnxInterestHeader> header,
                             const Ptr<const Packet> &packet,
@@ -123,6 +138,7 @@
 FwStats::RefreshStats ()
 {
   m_stats.Step ();
+  m_statsTrace (this, m_stats);
   
   NS_LOG_DEBUG (m_stats["/"]);
 
diff --git a/model/forwarding-strategy/fw-stats.h b/model/forwarding-strategy/fw-stats.h
index 2d9f1fc..a422ccc 100644
--- a/model/forwarding-strategy/fw-stats.h
+++ b/model/forwarding-strategy/fw-stats.h
@@ -54,6 +54,11 @@
                      Ptr<CcnxPitEntry> pitEntry);
 
   virtual void
+  FailedToCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
+                          Ptr<CcnxInterestHeader> header,
+                          const Ptr<const Packet> &packet);
+
+  virtual void
   WillSatisfyPendingInterest (const Ptr<CcnxFace> &incomingFace,
                               Ptr<CcnxPitEntry> pitEntry);
 
@@ -79,6 +84,9 @@
 private:
   ::ndnSIM::StatsTree m_stats;
   EventId m_statsRefreshEvent;
+
+  TracedCallback< Ptr<CcnxForwardingStrategy>,
+                  const ::ndnSIM::StatsTree & > m_statsTrace;
   
   typedef BestRoute super;
 };
