diff --git a/dap-sdk/crypto/src/dap_cert.c b/dap-sdk/crypto/src/dap_cert.c
index 586d560251f22d42dbd66b1555fc6f87260fbcf6..913d70cd2231f63b073c9c0254fe3d146e038420 100755
--- a/dap-sdk/crypto/src/dap_cert.c
+++ b/dap-sdk/crypto/src/dap_cert.c
@@ -85,13 +85,13 @@ int dap_cert_init() // TODO deinit too
 }
 
 /**
- * @brief 
+ * @brief
  * parse list of certificate from config file (if it is presented)
- * in current implementation this function is used when node certificate (node-addr.dcert) is not generated 
+ * in current implementation this function is used when node certificate (node-addr.dcert) is not generated
  * @param a_certs_str const char * string with certificate name (node-addr)
  * @param a_certs dap_cert_t *** array with certificates
  * @param a_certs_size size of certificate
- * @return size_t 
+ * @return size_t
  */
 size_t dap_cert_parse_str_list(const char * a_certs_str, dap_cert_t *** a_certs, size_t * a_certs_size)
 {
@@ -139,11 +139,11 @@ size_t dap_cert_parse_str_list(const char * a_certs_str, dap_cert_t *** a_certs,
 
 
 /**
- * @brief 
+ * @brief
  * simply call dap_sign_create_output_unserialized_calc_size( a_cert->enc_key,a_size_wished)
  * @param a_cert dap_cert_t * certificate object
  * @param a_size_wished wished data size (don't used in current implementation)
- * @return size_t 
+ * @return size_t
  */
 size_t dap_cert_sign_output_size(dap_cert_t * a_cert, size_t a_size_wished)
 {
@@ -166,13 +166,13 @@ size_t dap_cert_sign_output_size(dap_cert_t * a_cert, size_t a_size_wished)
 }*/
 
 /**
- * @brief 
+ * @brief
  * sign data by encryption key from certificate
  * @param a_cert dap_cert_t * certificate object
  * @param a_data data for signing
  * @param a_data_size data size
  * @param a_output_size_wished wished data size (don't used in current implementation)
- * @return dap_sign_t* 
+ * @return dap_sign_t*
  */
 dap_sign_t * dap_cert_sign(dap_cert_t * a_cert, const void * a_data
                                        , size_t a_data_size, size_t a_output_size_wished )
@@ -182,17 +182,17 @@ dap_sign_t * dap_cert_sign(dap_cert_t * a_cert, const void * a_data
     if (l_ret)
         log_it(L_INFO, "Sign sizes: %d %d", l_ret->header.sign_size, l_ret->header.sign_pkey_size);
     else
-        log_it(L_ERROR, "dap_sign_create return NULL"); 
-        
+        log_it(L_ERROR, "dap_sign_create return NULL");
+
     return l_ret;
 }
 
 /**
- * @brief 
+ * @brief
  * sign certificate with another certificate (a_cert->signs)
  * @param a_cert dap_cert_t certificate object
  * @param a_cert_signer dap_cert_t certificate object, which signs a_cert
- * @return int 
+ * @return int
  */
 int dap_cert_add_cert_sign(dap_cert_t * a_cert, dap_cert_t * a_cert_signer)
 {
@@ -210,12 +210,12 @@ int dap_cert_add_cert_sign(dap_cert_t * a_cert, dap_cert_t * a_cert_signer)
 
 /**
  * @brief generate certificate in memory with specified seed
- * 
+ *
  * @param a_cert_name const char * name of certificate
  * @param a_key_type dap_enc_key_type_t key type
  * @param a_seed const void* seed for certificate generation
  * @param a_seed_size size_t size of seed
- * @return dap_cert_t* 
+ * @return dap_cert_t*
  */
 dap_cert_t * dap_cert_generate_mem_with_seed(const char * a_cert_name, dap_enc_key_type_t a_key_type,
         const void* a_seed, size_t a_seed_size)
@@ -240,10 +240,10 @@ dap_cert_t * dap_cert_generate_mem_with_seed(const char * a_cert_name, dap_enc_k
 
 /**
  * @brief generate certificate in memory
- * 
+ *
  * @param a_cert_name const char * certificate name
  * @param a_key_type encryption key type
- * @return dap_cert_t* 
+ * @return dap_cert_t*
  */
 dap_cert_t * dap_cert_generate_mem(const char * a_cert_name, dap_enc_key_type_t a_key_type)
 {
@@ -252,11 +252,11 @@ dap_cert_t * dap_cert_generate_mem(const char * a_cert_name, dap_enc_key_type_t
 
 /**
  * @brief generate certificate and save it to file
- * 
+ *
  * @param a_cert_name const char * certificate name
  * @param a_file_path const char * path to certificate file
  * @param a_key_type dap_enc_key_type_t key_type
- * @return dap_cert_t* 
+ * @return dap_cert_t*
  */
 dap_cert_t * dap_cert_generate(const char * a_cert_name
                                            , const char * a_file_path,dap_enc_key_type_t a_key_type )
@@ -292,7 +292,7 @@ void dap_cert_delete_by_name(const char * a_cert_name)
 
 /**
  * @brief
- * find certificate by name in path, which is configured ca_folders parameter in chain config 
+ * find certificate by name in path, which is configured ca_folders parameter in chain config
  * @param a_cert_name const char *
  * @return
  */
@@ -362,6 +362,10 @@ dap_cert_t * dap_cert_new(const char * a_name)
 void dap_cert_delete(dap_cert_t * a_cert)
 {
     dap_cert_item_t * l_cert_item = NULL;
+
+    if ( !a_cert )
+        return;
+
     HASH_FIND_STR(s_certs, a_cert->name, l_cert_item);
     if ( l_cert_item ){
          HASH_DEL(s_certs,l_cert_item);
@@ -405,10 +409,10 @@ dap_cert_t * dap_cert_add_file(const char * a_cert_name,const char *a_folder_pat
 
 /**
  * @brief save certitificate to folder
- * 
+ *
  * @param a_cert dap_cert_t * certiticate object
  * @param a_file_dir_path const char * path to directory with certificate
- * @return int 
+ * @return int
  */
 int dap_cert_save_to_folder(dap_cert_t * a_cert, const char *a_file_dir_path)
 {
@@ -424,7 +428,7 @@ int dap_cert_save_to_folder(dap_cert_t * a_cert, const char *a_file_dir_path)
 
 /**
  * @brief dap_cert_to_pkey
- * get public key from certificate 
+ * get public key from certificate
  *  dap_pkey_from_enc_key( a_cert->enc_key )
  * @param a_cert dap_cert_t certificate object
  * @return dap_pkey_t
@@ -438,11 +442,11 @@ dap_pkey_t * dap_cert_to_pkey(dap_cert_t * a_cert)
 }
 
 /**
- * @brief 
+ * @brief
  * compare certificate encryption key with key, which was used for event or block signing
  * @param a_cert dap_cert_t * certificate object
  * @param a_sign dap_sign_t * dap_sign_t object (signed block or event)
- * @return int 
+ * @return int
  */
 int dap_cert_compare_with_sign (dap_cert_t * a_cert,const dap_sign_t * a_sign)
 {
@@ -523,9 +527,9 @@ void dap_cert_dump(dap_cert_t * a_cert)
 
 /**
  * @brief get certificate folder path
- * usage example: dap_cert_get_folder(0) 
- * @param a_n_folder_path 
- * @return const char* 
+ * usage example: dap_cert_get_folder(0)
+ * @param a_n_folder_path
+ * @return const char*
  */
 const char* dap_cert_get_folder(int a_n_folder_path)
 {
@@ -536,7 +540,7 @@ const char* dap_cert_get_folder(int a_n_folder_path)
 
 /**
  * @brief load certificates from specified folder
- * 
+ *
  * @param a_folder_path const char *
  */
 void dap_cert_add_folder(const char *a_folder_path)
@@ -572,13 +576,13 @@ void dap_cert_add_folder(const char *a_folder_path)
 }
 
 /**
- * @brief 
- * 
+ * @brief
+ *
  * @param a_key const char *
  * @param a_type dap_cert_metadata_type_t
  * @param a_value void *
  * @param a_value_size size_t
- * @return dap_cert_metadata_t* 
+ * @return dap_cert_metadata_t*
  */
 dap_cert_metadata_t *dap_cert_new_meta(const char *a_key, dap_cert_metadata_type_t a_type, void *a_value, size_t a_value_size)
 {
@@ -620,7 +624,7 @@ void dap_cert_add_meta(dap_cert_t *a_cert, const char *a_key, dap_cert_metadata_
 
 /**
  * @brief Add metadata to certificate with additional value modification
- * 
+ *
  * @param a_cert dap_cert_t * certificate object
  * @param a_key const char * key
  * @param a_type dap_cert_metadata_type_t type
@@ -667,10 +671,10 @@ void dap_cert_add_meta_scalar(dap_cert_t *a_cert, const char *a_key, dap_cert_me
 
 /**
  * @brief get specified metadata from certificate
- * 
+ *
  * @param a_cert dap_cert_t * certificate object
  * @param a_field const char * field, which will be gotten from metadata
- * @return dap_cert_metadata_t* 
+ * @return dap_cert_metadata_t*
  */
 dap_cert_metadata_t *dap_cert_get_meta(dap_cert_t *a_cert, const char *a_field)
 {
@@ -679,10 +683,10 @@ dap_cert_metadata_t *dap_cert_get_meta(dap_cert_t *a_cert, const char *a_field)
 
 /**
  * @brief get specified metadata from certificate in string (DAP_CERT_META_STRING) format
- * 
+ *
  * @param a_cert dap_cert_t * certificate object
  * @param a_field const char * field, which will be gotten from metadata
- * @return char* 
+ * @return char*
  */
 char *dap_cert_get_meta_string(dap_cert_t *a_cert, const char *a_field)
 {
@@ -699,11 +703,11 @@ char *dap_cert_get_meta_string(dap_cert_t *a_cert, const char *a_field)
 
 /**
  * @brief get metadata from certificate with boolean (DAP_CERT_META_BOOL) type
- * 
+ *
  * @param a_cert dap_cert_t * certificate object
  * @param a_field const char * field, which will be gotten from metadata
- * @return true 
- * @return false 
+ * @return true
+ * @return false
  */
 bool dap_cert_get_meta_bool(dap_cert_t *a_cert, const char *a_field)
 {
@@ -723,10 +727,10 @@ bool dap_cert_get_meta_bool(dap_cert_t *a_cert, const char *a_field)
 
 /**
  * @brief get metadata from certificate with int (DAP_CERT_META_INT) type
- * 
+ *
  * @param a_cert dap_cert_t * certificate object
  * @param a_field const char * field, which will be gotten from metadata
- * @return int 
+ * @return int
  */
 int dap_cert_get_meta_int(dap_cert_t *a_cert, const char *a_field)
 {
@@ -746,10 +750,10 @@ int dap_cert_get_meta_int(dap_cert_t *a_cert, const char *a_field)
 
 /**
  * @brief get metadata from certificate with datetime (DAP_CERT_META_DATETIME) type
- * 
+ *
  * @param a_cert dap_cert_t * certificate object
  * @param a_field const char * field, which will be gotten from metadata
- * @return time_t 
+ * @return time_t
  */
 time_t dap_cert_get_meta_time(dap_cert_t *a_cert, const char *a_field)
 {
@@ -769,10 +773,10 @@ time_t dap_cert_get_meta_time(dap_cert_t *a_cert, const char *a_field)
 
 /**
  * @brief get metadata from certificate with datetime (DAP_CERT_META_DATETIME_PERIOD) type
- * 
+ *
  * @param a_cert dap_cert_t * certificate object
  * @param a_field const char * field, which will be gotten from metadata
- * @return time_t 
+ * @return time_t
  */
 time_t dap_cert_get_meta_period(dap_cert_t *a_cert, const char *a_field)
 {
@@ -792,10 +796,10 @@ time_t dap_cert_get_meta_period(dap_cert_t *a_cert, const char *a_field)
 
 /**
  * @brief get metadata from certificate with dap_sign_t (DAP_CERT_META_SIGN) type
- * 
+ *
  * @param a_cert dap_cert_t * certificate object
  * @param a_field const char * field, which will be gotten from metadata
- * @return dap_sign_t* 
+ * @return dap_sign_t*
  */
 dap_sign_t *dap_cert_get_meta_sign(dap_cert_t *a_cert, const char *a_field)
 {
@@ -816,11 +820,11 @@ dap_sign_t *dap_cert_get_meta_sign(dap_cert_t *a_cert, const char *a_field)
 
 /**
  * @brief get metadata from certificate with custom (DAP_CERT_META_CUSTOM) type
- * 
+ *
  * @param a_cert dap_cert_t * certificate object
  * @param a_field const char * field, which will be gotten from metadata
  * @param a_meta_size_out size_t size of recieved data
- * @return void* 
+ * @return void*
  */
 void *dap_cert_get_meta_custom(dap_cert_t *a_cert, const char *a_field, size_t *a_meta_size_out)
 {
diff --git a/modules/wallet/dap_chain_wallet.c b/modules/wallet/dap_chain_wallet.c
index f7eee789bb1b3531def1381700c60e087035208f..d51811c615965d35230fe12fb3579a1422212d2b 100644
--- a/modules/wallet/dap_chain_wallet.c
+++ b/modules/wallet/dap_chain_wallet.c
@@ -182,8 +182,9 @@ void dap_chain_wallet_close( dap_chain_wallet_t * a_wallet)
             DAP_DELETE(l_wallet_internal->addr);
         if(l_wallet_internal->file_name)
             DAP_DELETE(l_wallet_internal->file_name);
-        for(size_t i = 0; i<l_wallet_internal->certs_count;i++)
-            dap_cert_delete( l_wallet_internal->certs[i]);
+        if ( l_wallet_internal->certs )
+            for(size_t i = 0; i<l_wallet_internal->certs_count;i++)
+                dap_cert_delete( l_wallet_internal->certs[i]);
         DAP_DELETE(l_wallet_internal->certs);
 
         DAP_DELETE(l_wallet_internal);