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 ee92c1e6f8078b99c8471fee7c539702f4969eb2..73e30f5ac9e38ed6a216352dffbed846b760ea31 100644
--- a/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java
+++ b/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java
@@ -449,7 +449,7 @@ class TCPConnection implements I2NPMessageReader.I2NPMessageEventListener {
         private boolean _running;
         public void run() {
             _running = true;
-            while (_running) {
+            while (_running && !_closed) {
                 OutNetMessage nextMessage = getNext();
                 if (nextMessage != null) {
                     boolean sent = doSend(nextMessage);