diff --git a/net/stream/ch/dap_stream_ch.c b/net/stream/ch/dap_stream_ch.c
index fa1d2e3e3202bc82979dd74d86be5ef13a896fa0..a0f4a07e15a2bae1c9c2df90c5ce23e1b7f14d93 100644
--- a/net/stream/ch/dap_stream_ch.c
+++ b/net/stream/ch/dap_stream_ch.c
@@ -182,6 +182,8 @@ dap_stm_ch_rec_t    *l_rec = NULL;
     if ( !l_rec )
         log_it(L_ERROR, "dap_stream_ch_t:%p - no record found!", a_stm_ch);
     else {
+        dap_list_free_full(a_stm_ch->packet_in_notifiers, NULL);
+        dap_list_free_full(a_stm_ch->packet_out_notifiers, NULL);
         DAP_DEL_MULTY(l_rec->stm_ch, l_rec);
         debug_if(g_debug_reactor, L_NOTICE, "dap_stream_ch_t:%p - is released", a_stm_ch);
     }