diff --git a/core/java/src/net/i2p/stat/StatManager.java b/core/java/src/net/i2p/stat/StatManager.java
index 3f3ab4a7230c9fca05a2249849ae31a3b2f1e38f..fc1b18fdf0a188a20c8bc364a2ad3e0d57753ced 100644
--- a/core/java/src/net/i2p/stat/StatManager.java
+++ b/core/java/src/net/i2p/stat/StatManager.java
@@ -112,6 +112,13 @@ public class StatManager {
         }
     }
 
+    // Hope this doesn't cause any problems with unsynchronized accesses like addRateData() ...
+    public void removeRateStat(String name) {
+        synchronized (_rateStats) {
+            _rateStats.remove(name);
+        }
+    }
+
     /** update the given frequency statistic, taking note that an event occurred (and recalculating all frequencies) */
     public void updateFrequency(String name) {
         FrequencyStat freq = (FrequencyStat) _frequencyStats.get(name);
diff --git a/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java b/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java
index 7267b26a1a3992fb536edea4b138cdff7ec141cb..e8740ccc728c2314bd2433732efc0b3293bbb5d8 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java
@@ -89,6 +89,7 @@ public class TunnelPool {
         _alive = false;
         _lastSelectionPeriod = 0;
         _lastSelected = null;
+        _context.statManager().removeRateStat(_rateName);
     }
 
     TunnelPoolManager getManager() { return _manager; }