diff --git a/modules/common/dap_chain_datum_token.c b/modules/common/dap_chain_datum_token.c
index 72febb8922a11d6f9c35cb0d2c067a5826af66f6..c2797b984a057de4330f51bb52b46ba8d0138e93 100644
--- a/modules/common/dap_chain_datum_token.c
+++ b/modules/common/dap_chain_datum_token.c
@@ -125,13 +125,21 @@ dap_chain_datum_token_tsd_t* dap_chain_datum_token_tsd_get(dap_chain_datum_token
 void dap_chain_datum_token_flags_dump(dap_string_t * a_str_out, uint16_t a_flags)
 {
     if(!a_flags){
+        dap_string_append_printf(a_str_out, "%s\n",
+                c_dap_chain_datum_token_flag_str[DAP_CHAIN_DATUM_TOKEN_FLAG_NONE]);
         dap_string_append_printf(a_str_out, "<NONE>\n");
         return;
     }
-    for ( uint16_t i = 0;  (2^i) <=DAP_CHAIN_DATUM_TOKEN_FLAG_MAX; i++ ){
-        if(   a_flags & (2^i) )
-            dap_string_append_printf(a_str_out,"%s%s", c_dap_chain_datum_token_flag_str[2^i],
-                    (2^i)==DAP_CHAIN_DATUM_TOKEN_FLAG_MAX?",":"\n"  );
+    bool is_first = true;
+    for ( uint16_t i = 0;  i <= DAP_CHAIN_DATUM_TOKEN_FLAG_MAX; i++){
+        if(   a_flags &  (1 << i) ){
+            if(is_first)
+                is_first = false;
+            else
+                dap_string_append_printf(a_str_out,", ");
+            dap_string_append_printf(a_str_out,"%s", c_dap_chain_datum_token_flag_str[i]);
+        }
+        if(i == DAP_CHAIN_DATUM_TOKEN_FLAG_MAX)
+            dap_string_append_printf(a_str_out, "\n");
     }
 }
-
diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c
index c04bc23a162563a73459d2cd4ff7c5099760d818..b4272b63e2e90185c59ae6861523363424cbffe9 100644
--- a/modules/net/dap_chain_node_cli_cmd.c
+++ b/modules/net/dap_chain_node_cli_cmd.c
@@ -2294,7 +2294,7 @@ int com_token_update(int argc, char ** argv, void *arg_func, char ** a_str_reply
                              dap_chain_node_cli_set_reply_text(a_str_reply, "Flag can't be \"%s\"",*l_str_flags);
                              return -20;
                          }
-                         l_flags |= l_flag;
+                         l_flags |= (1<<l_flag);
                          l_str_flags++;
                      }
                      // Add flags as set_flags TDS section
@@ -2605,7 +2605,7 @@ int com_token_decl(int argc, char ** argv, void *arg_func, char ** a_str_reply)
                              dap_chain_node_cli_set_reply_text(a_str_reply, "Flag can't be \"%s\"",*l_str_flags);
                              return -20;
                          }
-                         l_flags |= l_flag;
+                         l_flags |= (1<<l_flag);
                          l_str_flags++;
                      }
                 } else if ( strcmp( argv[l_arg_index],"-total_supply" )==0){ // Total supply