diff --git a/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState2.java b/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState2.java
index 5fd567c5370a5b987f1dd7aac60b02ef555739c8..b659d6c7e1bb6b1e05ae11753becf427864645ec 100644
--- a/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState2.java
+++ b/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState2.java
@@ -357,12 +357,15 @@ class OutboundEstablishState2 extends OutboundEstablishState implements SSU2Payl
     }
 
     public synchronized void receiveSessionCreated(UDPPacket packet) throws GeneralSecurityException {
-        ////// todo fix state check
-        if (_currentState == OutboundState.OB_STATE_VALIDATION_FAILED) {
+        if (_currentState != OutboundState.OB_STATE_REQUEST_SENT &&
+            _currentState != OutboundState.OB_STATE_REQUEST_SENT_NEW_TOKEN) {
+            // ignore dups
             if (_log.shouldLog(Log.WARN))
-                _log.warn("Session created already failed");
+                _log.warn("Invalid state for session created: " + this);
             return;
         }
+        if (_log.shouldDebug())
+            _log.debug("Received a session created on " + this);
 
         DatagramPacket pkt = packet.getPacket();
         SocketAddress from = pkt.getSocketAddress();