diff --git a/dap-sdk b/dap-sdk
index d6b22281ca619d673cbfff1258b4d0063a0057df..10498899c1adcfc7711137597d531539e086f445 160000
--- a/dap-sdk
+++ b/dap-sdk
@@ -1 +1 @@
-Subproject commit d6b22281ca619d673cbfff1258b4d0063a0057df
+Subproject commit 10498899c1adcfc7711137597d531539e086f445
diff --git a/modules/chain/dap_chain_ch.c b/modules/chain/dap_chain_ch.c
index d24fa779010ed5808001459522e92040eb030df7..2771e6b3d14dbbdd6468b099400886b5b68d0370 100644
--- a/modules/chain/dap_chain_ch.c
+++ b/modules/chain/dap_chain_ch.c
@@ -154,39 +154,21 @@ static  dap_memstat_rec_t   s_memstat [MEMSTAT$K_NR] = {
 
 #endif
 
-static const char *s_error_type_to_string(dap_chain_ch_error_type_t a_error)
-{
-    switch (a_error) {
-    case DAP_CHAIN_CH_ERROR_SYNC_REQUEST_ALREADY_IN_PROCESS:
-        return "SYNC_REQUEST_ALREADY_IN_PROCESS";
-    case DAP_CHAIN_CH_ERROR_INCORRECT_SYNC_SEQUENCE:
-        return "INCORRECT_SYNC_SEQUENCE";
-    case DAP_CHAIN_CH_ERROR_SYNC_TIMEOUT:
-        return "SYNCHRONIZATION TIMEOUT";
-    case DAP_CHAIN_CH_ERROR_CHAIN_PKT_DATA_SIZE:
-        return "INVALID_PACKET_SIZE";
-    case DAP_CHAIN_CH_ERROR_LEGACY_PKT_DATA_SIZE:
-        return "INVALID_LEGACY_PACKET_SIZE";
-    case DAP_CHAIN_CH_ERROR_NET_INVALID_ID:
-        return "INVALID_NET_ID";
-    case DAP_CHAIN_CH_ERROR_CHAIN_NOT_FOUND:
-        return "CHAIN_NOT_FOUND";
-    case DAP_CHAIN_CH_ERROR_ATOM_NOT_FOUND:
-        return "ATOM_NOT_FOUND";
-    case DAP_CHAIN_CH_ERROR_UNKNOWN_CHAIN_PKT_TYPE:
-        return "UNKNOWN_CHAIN_PACKET_TYPE";
-    case DAP_CHAIN_CH_ERROR_GLOBAL_DB_INTERNAL_NOT_SAVED:
-        return "GLOBAL_DB_INTERNAL_SAVING_ERROR";
-    case DAP_CHAIN_CH_ERROR_NET_IS_OFFLINE:
-        return "NET_IS_OFFLINE";
-    case DAP_CHAIN_CH_ERROR_OUT_OF_MEMORY:
-        return "OUT_OF_MEMORY";
-    case DAP_CHAIN_CH_ERROR_INTERNAL:
-        return "INTERNAL_ERROR";
-    default:
-        return "UNKNOWN_ERROR";
-    }
-}
+const char* const s_error_type_to_string[] = {
+    [DAP_CHAIN_CH_ERROR_SYNC_REQUEST_ALREADY_IN_PROCESS]= "SYNC_REQUEST_ALREADY_IN_PROCESS",
+    [DAP_CHAIN_CH_ERROR_INCORRECT_SYNC_SEQUENCE]        = "INCORRECT_SYNC_SEQUENCE",
+    [DAP_CHAIN_CH_ERROR_SYNC_TIMEOUT]                   = "SYNCHRONIZATION TIMEOUT",
+    [DAP_CHAIN_CH_ERROR_CHAIN_PKT_DATA_SIZE]            = "INVALID_PACKET_SIZE",
+    [DAP_CHAIN_CH_ERROR_LEGACY_PKT_DATA_SIZE]           = "INVALID_LEGACY_PACKET_SIZE",
+    [DAP_CHAIN_CH_ERROR_NET_INVALID_ID]                 = "INVALID_NET_ID",
+    [DAP_CHAIN_CH_ERROR_CHAIN_NOT_FOUND]                = "CHAIN_NOT_FOUND",
+    [DAP_CHAIN_CH_ERROR_ATOM_NOT_FOUND]                 = "ATOM_NOT_FOUND",
+    [DAP_CHAIN_CH_ERROR_UNKNOWN_CHAIN_PKT_TYPE]         = "UNKNOWN_CHAIN_PACKET_TYPE",
+    [DAP_CHAIN_CH_ERROR_GLOBAL_DB_INTERNAL_NOT_SAVED]   = "GLOBAL_DB_INTERNAL_SAVING_ERROR",
+    [DAP_CHAIN_CH_ERROR_NET_IS_OFFLINE]                 = "NET_IS_OFFLINE",
+    [DAP_CHAIN_CH_ERROR_OUT_OF_MEMORY]                  = "OUT_OF_MEMORY",
+    [DAP_CHAIN_CH_ERROR_INTERNAL]                       = "INTERNAL_ERROR"
+};
 
 /**
  * @brief dap_chain_ch_init
@@ -686,7 +668,7 @@ void dap_stream_ch_write_error_unsafe(dap_stream_ch_t *a_ch, dap_chain_net_id_t
 {
     dap_chain_ch_t *l_ch_chain = DAP_CHAIN_CH(a_ch);
     dap_return_if_fail(l_ch_chain);
-    const char *l_err_str = s_error_type_to_string(a_error);
+    const char *l_err_str = a_error < DAP_CHAIN_CH_ERROR_LAST ? s_error_type_to_string[a_error] : "UNDEFINED ERROR";
     dap_chain_ch_pkt_write_unsafe(a_ch, DAP_CHAIN_CH_PKT_TYPE_ERROR, a_net_id, a_chain_id, a_cell_id, l_err_str, strlen(l_err_str) + 1, DAP_CHAIN_CH_PKT_VERSION_LEGACY);
     s_ch_chain_go_idle(l_ch_chain);
 }
@@ -1542,7 +1524,7 @@ static bool s_sync_timer_callback(void *a_arg)
     }
 
     bool l_timer_break = false;
-    const char *l_err_str = s_error_type_to_string(DAP_CHAIN_CH_ERROR_SYNC_TIMEOUT);
+    const char* l_err_str = s_error_type_to_string[DAP_CHAIN_CH_ERROR_SYNC_TIMEOUT];
     if (l_ch_chain->sync_context) {
         struct sync_context *l_context = l_ch_chain->sync_context;
         if (l_context->last_activity + s_sync_timeout <= dap_time_now()) {
diff --git a/modules/chain/include/dap_chain_ch.h b/modules/chain/include/dap_chain_ch.h
index 384e5ec3d9154c784f783acb6caa0b6b06122237..da98e7e88fa5c016c40465c49b0c6884e657ba5a 100644
--- a/modules/chain/include/dap_chain_ch.h
+++ b/modules/chain/include/dap_chain_ch.h
@@ -63,7 +63,9 @@ typedef enum dap_chain_ch_error_type {
     DAP_CHAIN_CH_ERROR_INTERNAL,
 // Legacy
     DAP_CHAIN_CH_ERROR_GLOBAL_DB_INTERNAL_NOT_SAVED,
-    DAP_CHAIN_CH_ERROR_LEGACY_PKT_DATA_SIZE
+    DAP_CHAIN_CH_ERROR_LEGACY_PKT_DATA_SIZE,
+    //
+    DAP_CHAIN_CH_ERROR_LAST
 } dap_chain_ch_error_type_t;
 
 int dap_chain_ch_init(void);
diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c
index ccc4c5b94d026ffb5454702c26c4a59765141862..d42f9997a549033e045f6a64bdd54c96a3de5b72 100644
--- a/modules/net/dap_chain_net.c
+++ b/modules/net/dap_chain_net.c
@@ -3106,10 +3106,11 @@ static void s_ch_in_pkt_callback(dap_stream_ch_t *a_ch, uint8_t a_type, const vo
 
 static void s_ch_out_pkt_callback(dap_stream_ch_t *a_ch, uint8_t a_type, const void *a_data, size_t a_data_size, void *a_arg)
 {
-    debug_if(s_debug_more, L_DEBUG, "Sent OUT sync packet type %hhu size %zu to addr " NODE_ADDR_FP_STR,
-                                                           a_type, a_data_size, NODE_ADDR_FP_ARGS_S(a_ch->stream->node));
+    
     dap_chain_net_t *l_net = a_arg;
     dap_chain_net_pvt_t *l_net_pvt = PVT(l_net);
+    if (!l_net_pvt->sync_context.cur_chain)
+        return;
     switch (a_type) {
     case DAP_CHAIN_CH_PKT_TYPE_ERROR:
         l_net_pvt->sync_context.cur_chain->state = CHAIN_SYNC_STATE_ERROR;
@@ -3118,6 +3119,8 @@ static void s_ch_out_pkt_callback(dap_stream_ch_t *a_ch, uint8_t a_type, const v
         break;
     }
     l_net_pvt->sync_context.stage_last_activity = dap_time_now();
+    debug_if(s_debug_more, L_DEBUG, "Sent OUT sync packet type %hhu size %zu to addr " NODE_ADDR_FP_STR,
+                                    a_type, a_data_size, NODE_ADDR_FP_ARGS_S(a_ch->stream->node));
 }