diff --git a/source/Lib/CommonLib/Contexts.h b/source/Lib/CommonLib/Contexts.h
index a7365c688d6c713c9a4718ee59ddc69617e295c2..2f32394e4db1a7831639c20d8ce23183429f1f8c 100644
--- a/source/Lib/CommonLib/Contexts.h
+++ b/source/Lib/CommonLib/Contexts.h
@@ -983,7 +983,11 @@ public:
 
   void updateBufferState( const Slice* slice )
   {
+#if JVET_AD0206_CABAC_INIT_AT_GDR
+    if( slice->getPendingRasInit() || slice->isInterGDR() )
+#else
     if( slice->getPendingRasInit() )
+#endif
     {
       m_ctxStateStore.clearValid();
     }
diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h
index d68286d8cbc271407d4234040bf2a847b26bf918..e8a2bff884bad11248678a261b7db5bc4b77e921 100644
--- a/source/Lib/CommonLib/TypeDef.h
+++ b/source/Lib/CommonLib/TypeDef.h
@@ -304,10 +304,12 @@
 #define JVET_AB0067_MIP_DIMD_LFNST                        1 // JVET-AB0067: Modification of LFNST for MIP coded block
 #define JVET_AC0130_NSPT                                  1 // JVET-AC0130: NSPT replacing DCT-II + LFNST for certain block shapes
 #define JVET_AC0115_INTRA_TMP_DIMD_MTS_LFNST              1 // JVET-AC0115: Modifications of MTS/LFNST for Intra TMP coded block
+
 // Entropy Coding
 #define EC_HIGH_PRECISION                                 1 // CABAC high precision
 #define SLICE_TYPE_WIN_SIZE                               1 // Context window initialization based on slice type
 #define JVET_Z0135_TEMP_CABAC_WIN_WEIGHT                  1 // JVET-Z0135 Test 4.3b: Temporal CABAC, weighted states, windows adjustment
+#define JVET_AD0206_CABAC_INIT_AT_GDR                     1 // JVET-AD0206: Cabac initialization at GDR picture
 
 // Loop filters
 #define ALF_IMPROVEMENT                                   1 // ALF improvement