diff --git a/core/java/src/net/i2p/stat/RateStat.java b/core/java/src/net/i2p/stat/RateStat.java
index b29caf363b294d90d88d32542aeb2daff0aa2f5d..ba56cc5c5f73707a5705c3f43869362dcbf0d6dd 100644
--- a/core/java/src/net/i2p/stat/RateStat.java
+++ b/core/java/src/net/i2p/stat/RateStat.java
@@ -20,7 +20,7 @@ public class RateStat {
     /** describe the stat */
     private final String _description;
     /** actual rate objects for this statistic */
-    private final ConcurrentHashMap<Long, Rate> _rates;
+    protected final ConcurrentHashMap<Long, Rate> _rates;
     /** component we tell about events as they occur */
     private StatLog _statLog;
 
@@ -158,9 +158,7 @@ public class RateStat {
         RateStat rs = (RateStat) obj;
         if (DataHelper.eq(getGroupName(), rs.getGroupName()) && DataHelper.eq(getDescription(), rs.getDescription())
             && DataHelper.eq(getName(), rs.getName())) {
-            for (Rate r: _rates.values())
-                if (!r.equals(rs.getRate(r.getPeriod()))) return false;
-            return true;
+            return this._rates.equals(rs._rates);
         } 
         
         return false;