diff --git a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionHandler.java b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionHandler.java
index 2758735b99b3b7783f9cdeb5482347ead6cc6bb3..c7cfed88ad95a83c81eec1d82c8eb8bdaae986b1 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionHandler.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionHandler.java
@@ -21,7 +21,7 @@ class ConnectionHandler {
     private final Log _log;
     private final ConnectionManager _manager;
     private final LinkedBlockingQueue<Packet> _synQueue;
-    private boolean _active;
+    private volatile boolean _active;
     private int _acceptTimeout;
     
     /** max time after receiveNewSyn() and before the matched accept() */
@@ -230,7 +230,8 @@ class ConnectionHandler {
     }
     
     private class TimeoutSyn implements SimpleTimer.TimedEvent {
-        private Packet _synPacket;
+        private final Packet _synPacket;
+
         public TimeoutSyn(Packet packet) {
             _synPacket = packet;
         }
@@ -239,12 +240,15 @@ class ConnectionHandler {
             boolean removed = _synQueue.remove(_synPacket);
             
             if (removed) {
-                if (_synPacket.isFlagSet(Packet.FLAG_SYNCHRONIZE))
+                if (_synPacket.isFlagSet(Packet.FLAG_SYNCHRONIZE)) {
+                    if (_log.shouldLog(Log.WARN))
+                        _log.warn("Expired on the SYN queue: " + _synPacket);
                     // timeout - send RST
                     sendReset(_synPacket);
-                else
+                } else {
                     // non-syn packet got stranded on the syn queue, send it to the con
                     reReceivePacket(_synPacket);
+                }
             } else {
                 // handled.  noop
             }