diff --git a/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java b/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java
index d5d11b7d7fbea0d1b527650fa62d1ec0b34d1529..bee5a6b764fc5f3e6c7f7c9f41c67130e6fdab36 100644
--- a/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java
+++ b/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java
@@ -78,6 +78,7 @@ class EventPumper implements Runnable {
 
     /**
      *  Do we use direct buffers for reading? Default false.
+     *  NOT recommended as we don't keep good track of them so they will leak.
      *  @see java.nio.ByteBuffer
      */
     private static final String PROP_DIRECT = "i2np.ntcp.useDirectBuffers";
@@ -776,7 +777,8 @@ class EventPumper implements Runnable {
                     InetSocketAddress saddr = new InetSocketAddress(naddr.getHost(), naddr.getPort());
                     boolean connected = con.getChannel().connect(saddr);
                     if (connected) {
-                        _context.statManager().addRateData("ntcp.connectImmediate", 1);
+                        // Never happens, we use nonblocking
+                        //_context.statManager().addRateData("ntcp.connectImmediate", 1);
                         key.interestOps(SelectionKey.OP_READ);
                         processConnect(key);
                     }
diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
index 518596d0beabc2351a95468be59b8f751c545b07..d49642ad748506c95b944466dc24ff0b27a2ff3a 100644
--- a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
+++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
@@ -96,7 +96,7 @@ public class NTCPTransport extends TransportImpl {
         _context.statManager().createRateStat("ntcp.connectFailedTimeout", "", "ntcp", RATES);
         _context.statManager().createRateStat("ntcp.connectFailedTimeoutIOE", "", "ntcp", RATES);
         _context.statManager().createRateStat("ntcp.connectFailedUnresolved", "", "ntcp", RATES);
-        _context.statManager().createRateStat("ntcp.connectImmediate", "", "ntcp", RATES);
+        //_context.statManager().createRateStat("ntcp.connectImmediate", "", "ntcp", RATES);
         _context.statManager().createRateStat("ntcp.connectSuccessful", "", "ntcp", RATES);
         _context.statManager().createRateStat("ntcp.corruptDecryptedI2NP", "", "ntcp", RATES);
         _context.statManager().createRateStat("ntcp.corruptI2NPCRC", "", "ntcp", RATES);
@@ -285,7 +285,7 @@ public class NTCPTransport extends TransportImpl {
         boolean established = isEstablished(toAddress.getIdentity());
         if (established) { // should we check the queue size?  nah, if its valid, use it
             if (_log.shouldLog(Log.DEBUG))
-                _log.debug("fast bid when trying to send to " + peer.toBase64() + " as its already established");
+                _log.debug("fast bid when trying to send to " + peer + " as its already established");
             return _fastBid;
         }
         RouterAddress addr = toAddress.getTargetAddress(STYLE);
@@ -295,7 +295,7 @@ public class NTCPTransport extends TransportImpl {
             //_context.statManager().addRateData("ntcp.bidRejectedNoNTCPAddress", 1);
             //_context.shitlist().shitlistRouter(toAddress.getIdentity().calculateHash(), "No NTCP address", STYLE);
             if (_log.shouldLog(Log.DEBUG))
-                _log.debug("no bid when trying to send to " + peer.toBase64() + " as they don't have an ntcp address");
+                _log.debug("no bid when trying to send to " + peer + " as they don't have an ntcp address");
             return null;
         }
         byte[] ip = addr.getIP();
@@ -304,7 +304,7 @@ public class NTCPTransport extends TransportImpl {
             markUnreachable(peer);
             //_context.shitlist().shitlistRouter(toAddress.getIdentity().calculateHash(), "Invalid NTCP address", STYLE);
             if (_log.shouldLog(Log.DEBUG))
-                _log.debug("no bid when trying to send to " + peer.toBase64() + " as they don't have a valid ntcp address");
+                _log.debug("no bid when trying to send to " + peer + " as they don't have a valid ntcp address");
             return null;
         }
         if (!isPubliclyRoutable(ip)) {
@@ -312,14 +312,14 @@ public class NTCPTransport extends TransportImpl {
                 _context.statManager().addRateData("ntcp.bidRejectedLocalAddress", 1);
                 markUnreachable(peer);
                 if (_log.shouldLog(Log.DEBUG))
-                    _log.debug("no bid when trying to send to " + peer.toBase64() + " as they have a private ntcp address");
+                    _log.debug("no bid when trying to send to " + peer + " as they have a private ntcp address");
                 return null;
             }
         }
 
         if (!allowConnection()) {
             if (_log.shouldLog(Log.WARN))
-                _log.warn("no bid when trying to send to " + peer.toBase64() + ", max connection limit reached");
+                _log.warn("no bid when trying to send to " + peer + ", max connection limit reached");
             return _transientFail;
         }
 
@@ -327,7 +327,7 @@ public class NTCPTransport extends TransportImpl {
         //    return null; // dont talk to yourself
 
         if (_log.shouldLog(Log.DEBUG))
-            _log.debug("slow bid when trying to send to " + peer.toBase64());
+            _log.debug("slow bid when trying to send to " + peer);
         if (haveCapacity()) {
             if (addr.getCost() > NTCPAddress.DEFAULT_COST)
                 return _slowCostBid;