--- 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;