diff --git a/src/base/net/stratum/Client.cpp b/src/base/net/stratum/Client.cpp
index 229147ba2..b87466ab0 100644
--- a/src/base/net/stratum/Client.cpp
+++ b/src/base/net/stratum/Client.cpp
@@ -900,6 +900,12 @@ void xmrig::Client::onConnect(uv_connect_t *req, int status)
             LOG_ERR("[%s] connect error: \"%s\"", client->url(), uv_strerror(status));
         }
 
+        if (client->state() != ConnectingState) {
+            LOG_ERR("[%s] connect error: \"invalid state: %d\"", client->url(), client->state());
+
+            return;
+        }
+
         delete req;
         client->close();
         return;