diff --git a/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java b/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java
index fd31adc329450ed61eaeb45ad9460230786bb46d..a2b1209da11ba6d626a6d19be53fc9498e7201ba 100644
--- a/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java
+++ b/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java
@@ -423,7 +423,15 @@ class TCPConnection implements I2NPMessageReader.I2NPMessageEventListener {
      */
     private boolean slicesTooLong() {
         if (_lastSliceRun <= 0) return false;
+        synchronized (_toBeSent) {
+            // if there's nothing pending, dont worry about it
+            if (_toBeSent.size() <= 0)
+                return false;
+        }
         long diff = _context.clock().now() - _lastSliceRun;
+        boolean tooLong = diff > MAX_SLICE_DURATION;
+        if (tooLong)
+            _log.warn("Slices are taking " + diff + "ms");
         return (diff > MAX_SLICE_DURATION);
     }
     
@@ -542,7 +550,7 @@ class TCPConnection implements I2NPMessageReader.I2NPMessageEventListener {
                               + " bytes in " + (end - afterExpire) + "ms (write took "
                               + (end - beforeWrite) + "ms, prepare took "
                               + (beforeWrite - afterExpire) + "ms)");
-                if (timeLeft < 10*1000) {
+                if (timeLeft < 2*1000) {
                     if (_log.shouldLog(Log.DEBUG))
                         _log.warn("Very little time left... time to send [" + (end-start) 
                                   + "] time left [" + timeLeft + "] to "