diff --git a/dap_client.c b/dap_client.c
index 02f2d730b972b1f8ee466ec7b50edf9c9e9ac9bb..354dbae89932b495a97dd408c02d2ed3daa094b0 100755
--- a/dap_client.c
+++ b/dap_client.c
@@ -293,14 +293,15 @@ int dap_client_disconnect(dap_client_t * a_client)
 {
     dap_client_pvt_t * l_client_internal = (a_client) ? DAP_CLIENT_PVT(a_client) : NULL;
     if(l_client_internal && l_client_internal->stream_socket){
+        if (l_client_internal->stream_socket ){
+            close (l_client_internal->stream_socket);
+            l_client_internal->stream_socket = 0;
+        }
         if(l_client_internal->stream_es) {
             dap_events_socket_delete(l_client_internal->stream_es, true);
             l_client_internal->stream_es = NULL;
         }
-        else if (l_client_internal->stream_socket ){
-            close (l_client_internal->stream_socket);
-            l_client_internal->stream_socket = 0;
-        }
+
         return 1;
     }
     //l_client_internal->stream_socket = 0;