diff --git a/modules/common/dap_chain_datum_token.c b/modules/common/dap_chain_datum_token.c
index e19c8c00bf6f90f2eb8ba1190e0004b06f8d13c9..b6f4e5fdad1341b5b0a3c0fe77fb07314b0e6517 100644
--- a/modules/common/dap_chain_datum_token.c
+++ b/modules/common/dap_chain_datum_token.c
@@ -76,12 +76,12 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial
     dap_chain_datum_token_t *l_token = DAP_NEW_Z_SIZE(dap_chain_datum_token_t, l_token_size);
     memcpy(l_token->ticker, l_token_old->ticker, sizeof(l_token_old->ticker));
     memcpy(l_token->data_n_tsd, l_token_old->data_n_tsd, l_token_data_n_tsd_size);
-    *a_token_size = l_token_size;
+//    *a_token_size = l_token_size;
     switch (((dap_chain_datum_token_t*)a_token_serial)->type) {
     case DAP_CHAIN_DATUM_TOKEN_TYPE_OLD_SIMPLE: {
         memcpy(l_token->ticker, l_token_old->ticker, sizeof(l_token_old->ticker));
 //        memcpy(l_token->data_n_tsd, l_token_old->data_n_tsd, l_token_tsd_size);
-
+        *a_token_size = l_token_size;
         l_token->type           = DAP_CHAIN_DATUM_TOKEN_DECL;
         l_token->total_supply   = l_token_old->total_supply;
         l_token->signs_valid    = l_token_old->signs_valid;
@@ -93,6 +93,7 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial
         return l_token;
     }
     case DAP_CHAIN_DATUM_TOKEN_TYPE_OLD_PRIVATE_DECL: {
+        *a_token_size = l_token_size;
         l_token->type = DAP_CHAIN_DATUM_TOKEN_TYPE_DECL;
         l_token->total_supply   = l_token_old->total_supply;
         l_token->signs_valid    = l_token_old->signs_valid;
@@ -105,6 +106,7 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial
         return l_token;
     }
     case DAP_CHAIN_DATUM_TOKEN_TYPE_OLD_PRIVATE_UPDATE: {
+        *a_token_size = l_token_size;
         l_token->type = DAP_CHAIN_DATUM_TOKEN_TYPE_UPDATE;
         l_token->total_supply   = l_token_old->total_supply;
         l_token->signs_valid    = l_token_old->signs_valid;
@@ -117,6 +119,7 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial
         return l_token;
     }
     case DAP_CHAIN_DATUM_TOKEN_TYPE_OLD_NATIVE_DECL: {
+        *a_token_size = l_token_size;
         l_token->type = DAP_CHAIN_DATUM_TOKEN_TYPE_DECL;
         l_token->total_supply   = l_token_old->total_supply;
         l_token->signs_valid    = l_token_old->signs_valid;
@@ -129,6 +132,7 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial
         return l_token;
     }
     case DAP_CHAIN_DATUM_TOKEN_TYPE_OLD_NATIVE_UPDATE: {
+        *a_token_size = l_token_size;
         l_token->type = DAP_CHAIN_DATUM_TOKEN_TYPE_UPDATE;
         l_token->total_supply   = l_token_old->total_supply;
         l_token->signs_valid    = l_token_old->signs_valid;
@@ -141,6 +145,7 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial
         return l_token;
     }
     case DAP_CHAIN_DATUM_TOKEN_TYPE_OLD_PUBLIC: {
+        *a_token_size = l_token_size;
         l_token->type = DAP_CHAIN_DATUM_TOKEN_TYPE_DECL;
         l_token->total_supply   = l_token_old->total_supply;
         l_token->signs_valid    = l_token_old->signs_valid;
@@ -153,6 +158,7 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial
         return l_token;
     }
     default:
+        DAP_DELETE(l_token);
         return DAP_DUP_SIZE(a_token_serial, *a_token_size);
     };
 }
diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c
index 570602437043509c1021824bf77d6412837fb9da..37726642406d2d8a42d77500a1940cc3bc8b172f 100644
--- a/modules/net/dap_chain_node_cli_cmd.c
+++ b/modules/net/dap_chain_node_cli_cmd.c
@@ -3484,6 +3484,7 @@ int com_token_decl(int a_argc, char ** a_argv, char ** a_str_reply)
             l_datum_token = DAP_NEW_Z_SIZE(dap_chain_datum_token_t, sizeof(dap_chain_datum_token_t) + l_params->ext.tsd_total_size) ;
             l_datum_token->version = 2;
             l_datum_token->type = l_params->type;
+            l_datum_token->subtype = l_params->subtype;
             if (l_params->subtype == DAP_CHAIN_DATUM_TOKEN_SUBTYPE_PRIVATE) {
                 log_it(L_DEBUG,"Prepared TSD sections for private token on %zd total size", l_params->ext.tsd_total_size);
                 snprintf(l_datum_token->ticker, sizeof(l_datum_token->ticker), "%s", l_ticker);