diff --git a/modules/net/dap_dns_server.c b/modules/net/dap_dns_server.c
index 33e4b54ef1e92c52e58646c4b552fe3189fc6aa7..143abd7ecdfeddde2e86c5058688b4a139c993ad 100644
--- a/modules/net/dap_dns_server.c
+++ b/modules/net/dap_dns_server.c
@@ -322,6 +322,9 @@ void dap_dns_server_start() {
 }
 
 void dap_dns_server_stop() {
+    if(!s_dns_server)
+        return;
+
     dap_dns_zone_hash_t *current_zone, *tmp;
     HASH_ITER(hh, s_dns_server->hash_table, current_zone, tmp) {
         HASH_DEL(s_dns_server->hash_table, current_zone);
diff --git a/modules/service/xchange/dap_chain_net_srv_xchange.c b/modules/service/xchange/dap_chain_net_srv_xchange.c
index 20c03c5db409e62f1be0674124252bfda888695f..b7bd5071492e047932395300fca186099c49d41c 100644
--- a/modules/service/xchange/dap_chain_net_srv_xchange.c
+++ b/modules/service/xchange/dap_chain_net_srv_xchange.c
@@ -87,6 +87,8 @@ int dap_chain_net_srv_xchange_init()
 
 void dap_chain_net_srv_xchange_deinit()
 {
+    if(!s_srv_xchange)
+        return;
     dap_chain_net_srv_xchange_price_t *l_price = NULL, *l_tmp;
     HASH_ITER(hh, s_srv_xchange->pricelist, l_price, l_tmp) {
         HASH_DEL(s_srv_xchange->pricelist, l_price);