diff --git a/model/ccnx-fib.cc b/model/ccnx-fib.cc
index f8c5956..d473197 100644
--- a/model/ccnx-fib.cc
+++ b/model/ccnx-fib.cc
@@ -199,6 +199,7 @@
 CcnxFib::DoDispose (void)
 {
   m_node = 0;
+  clear ();
   Object::DoDispose ();
 }
 
diff --git a/model/ccnx-l3-protocol.cc b/model/ccnx-l3-protocol.cc
index 823ddbe..63c9049 100644
--- a/model/ccnx-l3-protocol.cc
+++ b/model/ccnx-l3-protocol.cc
@@ -133,10 +133,12 @@
   m_node = 0;
 
   // Force delete on objects
+  m_forwardingStrategy = 0; // there is a reference to PIT stored in here
   m_rit = 0;
   m_pit = 0;
   m_contentStore = 0;
-  
+  m_fib = 0;
+
   // m_forwardingStrategy = 0;
   Object::DoDispose ();
 }
diff --git a/model/ccnx-pit.cc b/model/ccnx-pit.cc
index 86484ef..f51aa33 100644
--- a/model/ccnx-pit.cc
+++ b/model/ccnx-pit.cc
@@ -61,6 +61,20 @@
   clear ();
 }
 
+void 
+CcnxPit::NotifyNewAggregate ()
+{
+}
+
+void 
+CcnxPit::DoDispose ()
+{
+  if (m_cleanupEvent.IsRunning ())
+    m_cleanupEvent.Cancel (); // cancel any scheduled cleanup events
+
+  clear ();
+}
+
 void
 CcnxPit::SetCleanupTimeout (const Time &timeout)
 {
diff --git a/model/ccnx-pit.h b/model/ccnx-pit.h
index fb437a9..16a3283 100644
--- a/model/ccnx-pit.h
+++ b/model/ccnx-pit.h
@@ -180,6 +180,11 @@
    */
   void SetFib (Ptr<CcnxFib> fib);
 
+protected:
+  // inherited from Object class                                                                                                                                                        
+  virtual void NotifyNewAggregate ();
+  virtual void DoDispose ();
+
 public:
    PitBucket				 maxBucketsPerFace; // maximum number of buckets. Automatically computed based on link capacity
   // // averaging over 1 second (bandwidth * 1second)
diff --git a/model/ccnx-rit.cc b/model/ccnx-rit.cc
index 3536ab5..32c9ddb 100644
--- a/model/ccnx-rit.cc
+++ b/model/ccnx-rit.cc
@@ -86,6 +86,20 @@
 }
 
 void
+CcnxRit::NotifyNewAggregate ()
+{
+}
+
+void
+CcnxRit::DoDispose ()
+{
+  if (m_cleanupEvent.IsRunning ())
+    m_cleanupEvent.Cancel (); // cancel any scheduled cleanup events                                                                                                                     
+
+  clear ();
+}
+
+void
 CcnxRit::SetRitTimeout (const Time &timeout)
 {
   m_ritTimeout = timeout;
diff --git a/model/ccnx-rit.h b/model/ccnx-rit.h
index ba5a133..501f409 100644
--- a/model/ccnx-rit.h
+++ b/model/ccnx-rit.h
@@ -188,6 +188,11 @@
    */
   Time GetCleanupTimeout () const;
 
+protected:
+  // inherited from Object class                                                                                                                                                        
+  virtual void NotifyNewAggregate ();
+  virtual void DoDispose ();
+
 private:
   /**
    * \brief Periodic even to clean up stalled entries
