diff --git a/dap_chain_wallet.c b/dap_chain_wallet.c
index 459ca2f2c72472f93edebe764da56553f7dbf9e6..83e2ef24c297246b04d1b7ed281a802ecc568059 100755
--- a/dap_chain_wallet.c
+++ b/dap_chain_wallet.c
@@ -253,6 +253,8 @@ size_t dap_chain_wallet_get_certs_number( dap_chain_wallet_t * a_wallet)
  */
 dap_enc_key_t* dap_chain_wallet_get_key( dap_chain_wallet_t * a_wallet,uint32_t a_pkey_idx )
 {
+    if(!a_wallet)
+        return NULL;
     DAP_CHAIN_WALLET_INTERNAL_LOCAL(a_wallet);
     if( l_wallet_internal->certs_count > a_pkey_idx ){
         return l_wallet_internal->certs[a_pkey_idx] ?
diff --git a/dap_chain_wallet_internal.h b/dap_chain_wallet_internal.h
index dfaaaf7a5bfcfc599d24b413bad980980da3100b..9ddb64b2f838f30842e9e9e160523402d2101a93 100755
--- a/dap_chain_wallet_internal.h
+++ b/dap_chain_wallet_internal.h
@@ -64,7 +64,7 @@ typedef struct dap_chain_wallet_internal
     dap_cert_t ** certs;
 } dap_chain_wallet_internal_t;
 
-#define DAP_CHAIN_WALLET_INTERNAL(a) ((dap_chain_wallet_internal_t *) a->_internal  )
+#define DAP_CHAIN_WALLET_INTERNAL(a) (a ? (dap_chain_wallet_internal_t *) a->_internal : NULL)
 
 #define DAP_CHAIN_WALLET_INTERNAL_LOCAL(a) dap_chain_wallet_internal_t * l_wallet_internal = DAP_CHAIN_WALLET_INTERNAL(a)