diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h
index ccf894f55abafba4773f713e247ceb72613cc97a..5085335cd0944f54334d472c7e9927269140c4a1 100644
--- a/source/Lib/CommonLib/TypeDef.h
+++ b/source/Lib/CommonLib/TypeDef.h
@@ -92,10 +92,10 @@
 #define JVET_N0857_TILES_BRICKS                           1 // VTM-5 basic Slices/Tiles/Bricks design, rectangular slices not supported yet
 
 #if JVET_N0857_TILES_BRICKS
+#define JVET_N0124_PROPOSAL1                              1   // JVET-N0124 Proposal 1
 #define JVET_N0124_PROPOSAL2                              1   // JVET-N0124 Proposal 2
 #endif
 
-
 #define JVET_N0280_RESIDUAL_CODING_TS                     1
 
 #define JVET_N0103_CGSIZE_HARMONIZATION                   1 // Chroma CG sizes aligned to luma CG sizes
diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp
index ea548f56ab5ef3e4e8029f0aa34641795451648e..cd69508abf499f4529b034e1543811db08c34829 100644
--- a/source/Lib/DecoderLib/VLCReader.cpp
+++ b/source/Lib/DecoderLib/VLCReader.cpp
@@ -594,6 +594,9 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS )
   }
   else
   {
+#if JVET_N0124_PROPOSAL1
+    pcPPS->setSingleBrickPerSliceFlag(true);
+#endif
     pcPPS->setRectSliceFlag(true);
   }
 
diff --git a/source/Lib/EncoderLib/VLCWriter.cpp b/source/Lib/EncoderLib/VLCWriter.cpp
index 59d54d0d0c8e1e0ec05633cf877cc9b14da0fc30..cddfead79972d1097719daf1a79a6f8fd7398623 100644
--- a/source/Lib/EncoderLib/VLCWriter.cpp
+++ b/source/Lib/EncoderLib/VLCWriter.cpp
@@ -338,6 +338,10 @@ void HLSWriter::codePPS( const PPS* pcPPS )
   }
   else
   {
+#if JVET_N0124_PROPOSAL1
+	// make sure single brick per slice is set by encoder such that the behaviour is same as for setting it to true
+	CHECK(pcPPS->getSingleBrickPerSliceFlag() != true, "SingleBrickPerSliceFlag must be set to 1 when not present");
+#endif
     // make sure rect_slice_flag is set
     CHECK (pcPPS->getRectSliceFlag()!=true, "RectSliceFlag must be equalt to 1 for single_tile_in_pic_flag equal to 1");
   }