diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp
index 9005531365ab3411206071283619a4ade8f00151..89cacbed42ca5fff87d5b6e5a8643427116d5024 100644
--- a/source/Lib/DecoderLib/VLCReader.cpp
+++ b/source/Lib/DecoderLib/VLCReader.cpp
@@ -1222,7 +1222,7 @@ void HLSyntaxReader::parseSPS(SPS* pcSPS)
 
 #if MAX_TB_SIZE_SIGNALLING
 #if JVET_O0545_MAX_TB_SIGNALLING
-  READ_UVLC( uiCode, "sps_max_luma_transform_size_64_flag");        pcSPS->setLog2MaxTbSize( uiCode + 5 );
+  READ_FLAG( uiCode, "sps_max_luma_transform_size_64_flag");        pcSPS->setLog2MaxTbSize( (uiCode ? 1 : 0) + 5 );
 #else
   // KJS: Not in syntax
   READ_UVLC( uiCode, "log2_max_luma_transform_block_size_minus2" ); pcSPS->setLog2MaxTbSize( uiCode + 2 );
diff --git a/source/Lib/EncoderLib/VLCWriter.cpp b/source/Lib/EncoderLib/VLCWriter.cpp
index 4c7ac2f0ef3c303091fd765a66749a0b43a0c03b..fa0598c3b83b625b4aa7e1f0e55667bfe19e5874 100644
--- a/source/Lib/EncoderLib/VLCWriter.cpp
+++ b/source/Lib/EncoderLib/VLCWriter.cpp
@@ -829,7 +829,7 @@ void HLSWriter::codeSPS( const SPS* pcSPS )
 
 #if MAX_TB_SIZE_SIGNALLING
 #if JVET_O0545_MAX_TB_SIGNALLING
-  WRITE_UVLC( pcSPS->getLog2MaxTbSize() - 5,                                 "sps_max_luma_transform_size_64_flag" );
+  WRITE_FLAG( (pcSPS->getLog2MaxTbSize() - 5) ? 1 : 0,                       "sps_max_luma_transform_size_64_flag" );
 #else
   // KJS: Not in syntax
   WRITE_UVLC( pcSPS->getLog2MaxTbSize() - 2,                                 "log2_max_luma_transform_block_size_minus2" );