diff --git a/modules/common/dap_chain_common.c b/modules/common/dap_chain_common.c
index a9b7668bc4200f6a07dd76685a1fb450c0ce6bc5..049296c3c9fe8eb6fd7eb2600f90f447841a30d6 100644
--- a/modules/common/dap_chain_common.c
+++ b/modules/common/dap_chain_common.c
@@ -626,9 +626,7 @@ uint32_t l_tmp[4];
     /* 456 - > "456" */
     l_cp2 = l_cp;
     l_nibble = a_uint256.lo;
-    do {
-        *(l_cp2++) = (l_nibble % 10) + '0';
-    } while (l_nibble /= 10);
+    do { *(l_cp++) = (l_nibble % 10) + '0'; } while (l_nibble /= 10);
 
     l_len = l_cp2 - l_cp;
     l_len = l_len / 2;
@@ -643,7 +641,7 @@ uint32_t l_tmp[4];
         *l_cpe = l_chr;
     }
 
-    if (  DAP_CHAIN$SZ_MAX128DEC > (l_len = l_cp2 - l_cp) )
+    if ( a_uint256.hi && (DAP_CHAIN$SZ_MAX128DEC > (l_len = l_cp2 - l_cp)) )    /* Insert zeroes if hi part of the digit is not zero */
     {
         /* "123456" -> 123000...000456" */
         memmove(l_cp + ( DAP_CHAIN$SZ_MAX128DEC - l_len), l_cp, l_len);
@@ -955,6 +953,9 @@ const   uint256_t uint256_zero = {0};
     cp = dap_chain_balance_print(uint256);
     free(cp);
 
+    cp = dap_chain_balance_to_coins256(uint256);
+    uint256 = dap_chain_coins_to_balance(cp);
+    free(cp);
 
     cp = dap_chain_balance_print333(uint256);
     free(cp);