diff --git a/modules/consensus/esbocs/dap_chain_cs_esbocs.c b/modules/consensus/esbocs/dap_chain_cs_esbocs.c
index 7633b717a47172897fd426747571bb78d7d12ec5..ea2f6fd86e7577a98d3a6166ce6fd1635d1d733c 100644
--- a/modules/consensus/esbocs/dap_chain_cs_esbocs.c
+++ b/modules/consensus/esbocs/dap_chain_cs_esbocs.c
@@ -2545,7 +2545,7 @@ static dap_chain_datum_decree_t *s_esbocs_decree_set_min_validators_count(dap_ch
     l_decree = DAP_NEW_Z_SIZE(dap_chain_datum_decree_t, sizeof(dap_chain_datum_decree_t) + l_total_tsd_size);
     if (!l_decree) {
         log_it(L_ERROR, "Memory allocation error in s_esbocs_decree_set_min_validators_count");
-        DAP_DEL_Z(l_tsd);
+        dap_list_free_full(l_tsd_list, NULL);
         return NULL;
     }
     l_decree->decree_version = DAP_CHAIN_DATUM_DECREE_VERSION;
@@ -2557,7 +2557,7 @@ static dap_chain_datum_decree_t *s_esbocs_decree_set_min_validators_count(dap_ch
         l_chain = dap_chain_net_get_default_chain_by_chain_type(a_net, CHAIN_TYPE_ANCHOR);
     if(!l_chain){
         log_it(L_ERROR, "Can't find chain with decree support.");
-        DAP_DEL_Z(l_tsd);
+        dap_list_free_full(l_tsd_list, NULL);
         DAP_DELETE(l_decree);
         return NULL;
     }
@@ -2593,12 +2593,10 @@ static dap_chain_datum_decree_t *s_esbocs_decree_set_min_validators_count(dap_ch
         log_it(L_DEBUG,"<-- Signed with '%s'", a_cert->name);
     }else{
         log_it(L_ERROR, "Decree signing failed");
-        DAP_DEL_Z(l_tsd);
         DAP_DELETE(l_decree);
         return NULL;
     }
-    
-    DAP_DEL_Z(l_tsd);
+
     return l_decree;
 }