diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillPeerSelector.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillPeerSelector.java
index 9c4093899d2b15ba017629ee2ef50534bc02ac0e..3606240d24ea49f6259ad38f8e0a5418849de7e1 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillPeerSelector.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillPeerSelector.java
@@ -22,6 +22,7 @@ import net.i2p.router.RouterContext;
 import net.i2p.router.peermanager.PeerProfile;
 import net.i2p.router.util.RandomIterator;
 import net.i2p.stat.Rate;
+import net.i2p.stat.RateStat;
 import net.i2p.util.Log;
 
 /**
@@ -201,9 +202,12 @@ class FloodfillPeerSelector extends PeerSelector {
             } else {
                 PeerProfile prof = _context.profileOrganizer().getProfile(entry);
                 double maxGoodRespTime = MAX_GOOD_RESP_TIME;
-                Rate tunnelTestTime = _context.statManager().getRate("tunnel.testSuccessTime").getRate(10*60*1000);
-                if (tunnelTestTime != null && tunnelTestTime.getAverageValue() > 500)
-                    maxGoodRespTime = 2 * tunnelTestTime.getAverageValue();
+                RateStat ttst = _context.statManager().getRate("tunnel.testSuccessTime");
+                if (ttst != null) {
+                    Rate tunnelTestTime = ttst.getRate(10*60*1000);
+                    if (tunnelTestTime != null && tunnelTestTime.getAverageValue() > 500)
+                        maxGoodRespTime = 2 * tunnelTestTime.getAverageValue();
+                }
                 if (prof != null && prof.getDBHistory() != null
                     && prof.getDbResponseTime().getRate(10*60*1000).getAverageValue() < maxGoodRespTime
                     && prof.getDBHistory().getLastStoreFailed() < now - NO_FAIL_STORE_GOOD