diff --git a/model/ccnx-face.cc b/model/ccnx-face.cc
index 51b3ba4..3c092e9 100644
--- a/model/ccnx-face.cc
+++ b/model/ccnx-face.cc
@@ -82,8 +82,12 @@
   
   if (m_bucketMax > 0)
     {
+      //NS_LOG_ERROR ("Limits enabled: " << m_bucketMax << ", current: " << m_bucket);
       if (m_bucket+1.0 > m_bucketMax)
-        return false;
+        {
+          //NS_LOG_ERROR ("Returning false");
+          return false;
+        }
       
       m_bucket += 1.0;
     }
@@ -95,11 +99,31 @@
 CcnxFace::LeakBucket (const Time &interval)
 {
   const double leak = m_bucketLeak * interval.ToDouble (Time::S);
-  m_bucket -= std::max (0.0, m_bucket - leak);
+  m_bucket = std::max (0.0, m_bucket - leak);
 
   NS_LOG_ERROR ("max: " << m_bucketMax << ", Current bucket: " << m_bucket << ", leak size: " << leak << ", interval: " << interval << ", " << m_bucketLeak);
 }
 
+void
+CcnxFace::SetBucketMax (double bucket)
+{
+  NS_LOG_FUNCTION (this << bucket);
+  m_bucketMax = bucket;
+}
+
+void
+CcnxFace::SetBucketLeak (double leak)
+{
+  NS_LOG_FUNCTION (this << leak);
+  m_bucketLeak = leak;
+}
+
+void
+CcnxFace::LeakBucketByOnePacket ()
+{
+  m_bucket = std::max (0.0, m_bucket-1.0); 
+}
+
 bool
 CcnxFace::Send (Ptr<Packet> packet)
 {
diff --git a/model/ccnx-face.h b/model/ccnx-face.h
index 40de808..0499abb 100644
--- a/model/ccnx-face.h
+++ b/model/ccnx-face.h
@@ -165,13 +165,13 @@
    *
    * @param bucket maximum value for Interest allowance. If < 0, then limit will be disabled
    */
-  inline void
+  void
   SetBucketMax (double bucket);
 
   /**
    * @brief Set a normalized value (one second) for Interest allowance bucket leak
    */
-  inline void
+   void
   SetBucketLeak (double leak);
   
   /**
@@ -182,7 +182,7 @@
   void
   LeakBucket (const Time &interval);
 
-  inline void
+  void
   LeakBucketByOnePacket ();
   
   /**
@@ -248,24 +248,6 @@
   return m_id;
 }
 
-void
-CcnxFace::SetBucketMax (double bucket)
-{
-  m_bucketMax = bucket;
-}
-
-void
-CcnxFace::SetBucketLeak (double leak)
-{
-  m_bucketLeak = leak;
-}
-
-void
-CcnxFace::LeakBucketByOnePacket ()
-{
-  m_bucket -= std::max (0.0, m_bucket-1.0); 
-}
-
 } // namespace ns3
 
 #endif //CCNX_FACE_H
diff --git a/model/ccnx-l3-protocol.cc b/model/ccnx-l3-protocol.cc
index 187a020..5484fb7 100644
--- a/model/ccnx-l3-protocol.cc
+++ b/model/ccnx-l3-protocol.cc
@@ -584,6 +584,8 @@
 CcnxL3Protocol::LeakBuckets ()
 {
   NS_LOG_FUNCTION (this);
+  NS_LOG_ERROR ("Bucket Interval: " << m_bucketLeakInterval.ToDouble(Time::S));
+
   BOOST_FOREACH (const Ptr<CcnxFace> &face, m_faces)
     {
       face->LeakBucket (m_bucketLeakInterval);
