diff --git a/dap_chain_sign.c b/dap_chain_sign.c
index 54f7c639f3254870635f6c308a53f6c67a4666d7..1d075f795a28ab83e3d23e2be3566ebbbd12d98a 100755
--- a/dap_chain_sign.c
+++ b/dap_chain_sign.c
@@ -187,7 +187,7 @@ dap_chain_sign_t * dap_chain_sign_create(dap_enc_key_t *a_key, const void * a_da
             DAP_DELETE(l_pub_key);
             return NULL;
         } else {
-            size_t l_sign_ser_size =0;
+            size_t l_sign_ser_size = l_sign_unserialized_size;
             uint8_t *l_sign_ser = dap_enc_key_serealize_sign(a_key->type, l_sign_unserialized, &l_sign_ser_size);
             if ( l_sign_ser ){
                 dap_chain_sign_t * l_ret = DAP_NEW_Z_SIZE(dap_chain_sign_t,