diff --git a/dap_chain_net.c b/dap_chain_net.c
index cc1da6e83c6959c3a5f217a32bd21ee0cf640254..f27c07044eb61c7750543d3880d649817654ad1c 100644
--- a/dap_chain_net.c
+++ b/dap_chain_net.c
@@ -461,8 +461,9 @@ static int s_net_states_proc(dap_chain_net_t * l_net)
                 PVT(l_net)->links_count++;
             } else {
                 log_it(L_NOTICE, "Can't establish enough links, go to offline");
-                PVT(l_net)->state = NET_STATE_OFFLINE ;
-                PVT(l_net)->state_target = NET_STATE_OFFLINE ;
+                PVT(l_net)->state = NET_STATE_OFFLINE;
+                PVT(l_net)->state_target = NET_STATE_OFFLINE;
+                break;
             }
             log_it(L_DEBUG, "%s.state: NET_STATE_LINKS_CONNECTING",l_net->pub.name);
             log_it(L_DEBUG, "Establishing connection with " NODE_ADDR_FP_STR,
diff --git a/dap_chain_node.c b/dap_chain_node.c
index 77d5e6b87e8c1829356a7bb1a3f2796beba1b26e..1067004d56796f3955a5690e75f1b6996057b1ae 100644
--- a/dap_chain_node.c
+++ b/dap_chain_node.c
@@ -93,6 +93,8 @@ bool dap_chain_node_alias_register(dap_chain_net_t * a_net,const char *alias, da
 //    a_value[2 * sizeof(dap_chain_node_addr_t)] = '\0';
     bool res = dap_chain_global_db_gr_set( dap_strdup(a_key),  l_addr, sizeof(dap_chain_node_addr_t)
                                           , a_net->pub.gdb_nodes_aliases);
+    DAP_DELETE(l_addr);
+    DAP_DELETE(a_key);
     return res;
 }
 
diff --git a/dap_chain_node_client.c b/dap_chain_node_client.c
index 3b536019d72bdea3343ff25eaa523df0c1816e85..470b1d48c4d75abbd49157faad8fc1ea98ff8c70 100644
--- a/dap_chain_node_client.c
+++ b/dap_chain_node_client.c
@@ -606,7 +606,7 @@ int dap_chain_node_client_wait(dap_chain_node_client_t *a_client, int a_waited_s
 
         if ( wait == WAIT_OBJECT_0 && (
                     a_client->state == a_waited_state ||
-                    a_client->state == NODE_CLIENT_STATE_ERROR )
+                    a_client->state == NODE_CLIENT_STATE_ERROR || a_client->state == NODE_CLIENT_STATE_DISCONNECTED
           ) {
             ret = a_client->state == a_waited_state ? 0 : -2;
             break;