--- enet-1.3.9/protocol.c	2013-08-18 17:16:04.000000000 +0300
+++ enet-1.3.9.mod/protocol.c	2013-11-12 12:21:18.000000000 +0200
@@ -299,7 +299,10 @@
         else 
         if (currentPeer -> address.host == host -> receivedAddress.host)
         {
-            if (currentPeer -> address.port == host -> receivedAddress.port &&
+            /* This check prevents duplicate *connection attempts* resulting
+               from a connection packet being retransmitted */
+            if (currentPeer -> state != ENET_PEER_STATE_CONNECTING &&
+                currentPeer -> address.port == host -> receivedAddress.port &&
                 currentPeer -> connectID == command -> connect.connectID)
               return NULL;
 
