diff --git a/src/sockets/socket.cpp b/src/sockets/socket.cpp
index e7d97312e8e67073aac2c6c380f74cf7a1e607ec..686a2338be558b314c1810c29e0ca2d5f3214fff 100644
--- a/src/sockets/socket.cpp
+++ b/src/sockets/socket.cpp
@@ -172,6 +172,8 @@ void CSocket::hard_close(void)
     if(::close(this->socket_fd)<0)
       throw CSocketException(_HERE_,"Error while closing the socket",this->comm_id);
     this->socket_fd=-1;
+    if(this->event_server->event_is_set(this->connection_closed_event))
+      this->event_server->reset_event(this->connection_closed_event);
   }
   this->cloned=false;
 }