diff --git a/core/Bitstring.cc b/core/Bitstring.cc
index ccbdfcfa314b18fbdd976ea79f25718f1b331085..bd3659cffdba5a75844fa343ae0a9cc23dc9c063 100644
--- a/core/Bitstring.cc
+++ b/core/Bitstring.cc
@@ -1253,6 +1253,7 @@ int BITSTRING::JSON_decode(const TTCN_Typedescriptor_t& p_td, JSON_Tokenizer& p_
             ++bit_index;
           }
         }
+        clear_unused_bits();
       }
     } else {
       error = TRUE;
diff --git a/core/Hexstring.cc b/core/Hexstring.cc
index 7e71582f1c2eebd1f480f83233abfc43ebf507ea..30b081539592e5c85079fa6ad1f0a390d0d9761e 100644
--- a/core/Hexstring.cc
+++ b/core/Hexstring.cc
@@ -1132,6 +1132,7 @@ int HEXSTRING::JSON_decode(const TTCN_Typedescriptor_t& p_td, JSON_Tokenizer& p_
           set_nibble(nibble_index, char_to_hexdigit(value[i]));
           ++nibble_index;
         }
+        clear_unused_nibble();
       }
     } else {
       error = TRUE;