diff --git a/modules/channel/chain-net-srv/dap_stream_ch_chain_net_srv.c b/modules/channel/chain-net-srv/dap_stream_ch_chain_net_srv.c
index c48c65a294dba380d372efa745f82b7304935a5d..d85b2cbc10618ee3ec4fefc0ddf4641a30025d76 100644
--- a/modules/channel/chain-net-srv/dap_stream_ch_chain_net_srv.c
+++ b/modules/channel/chain-net-srv/dap_stream_ch_chain_net_srv.c
@@ -120,6 +120,7 @@ void s_stream_ch_delete(dap_stream_ch_t* a_ch , void* a_arg)
     (void) a_arg;
     log_it(L_DEBUG, "Stream ch chain net srv delete");
     dap_chain_net_srv_call_closed_all( a_ch);
+    DAP_DEL_Z(a_ch->internal);
 }
 
 static bool s_unban_client(dap_chain_net_srv_banlist_item_t *a_item)
diff --git a/modules/channel/chain-net/dap_stream_ch_chain_net.c b/modules/channel/chain-net/dap_stream_ch_chain_net.c
index 04a6991b8bbed305cd4c7e17c6c0bb24fb7d7266..c30be87149616f7766a33855c02ceac8f7805b7a 100644
--- a/modules/channel/chain-net/dap_stream_ch_chain_net.c
+++ b/modules/channel/chain-net/dap_stream_ch_chain_net.c
@@ -177,6 +177,7 @@ void s_stream_ch_delete(dap_stream_ch_t* a_ch, void* a_arg)
         session_data_del(a_ch->stream->session->id);
         pthread_mutex_unlock(&l_ch_chain_net->mutex);
     }
+    DAP_DEL_Z(a_ch->internal);
 }
 
 /**
diff --git a/modules/channel/chain-voting/dap_stream_ch_chain_voting.c b/modules/channel/chain-voting/dap_stream_ch_chain_voting.c
index 20862782196c8b2e55425a395d7b9301ad173855..a289daba669399d30553ed47dfc39a5a7fd3c36c 100644
--- a/modules/channel/chain-voting/dap_stream_ch_chain_voting.c
+++ b/modules/channel/chain-voting/dap_stream_ch_chain_voting.c
@@ -285,8 +285,9 @@ static void s_stream_ch_new(dap_stream_ch_t* a_ch, void* a_arg) {
     l_ch_chain_voting->ch = a_ch;
 }
 
-static void s_stream_ch_delete(dap_stream_ch_t* a_ch, void* a_arg) {
-    a_ch->internal = NULL; // To prevent its cleaning in worker
+static void s_stream_ch_delete(dap_stream_ch_t* a_ch, void* a_arg)
+{
+    DAP_DEL_Z(a_ch->internal);
 }
 
 static void s_packet_in_callback_handler(void *a_arg)