diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp
index 8a19133e7f1679c8e0c733e332d5c1fbe5bc8528..2c41f84ac057e6c145149a8c425f0ddac8ba09f2 100644
--- a/source/Lib/DecoderLib/VLCReader.cpp
+++ b/source/Lib/DecoderLib/VLCReader.cpp
@@ -6624,7 +6624,11 @@ void HLSyntaxReader::parseCcSao( Slice* pcSlice, PicHeader* picHeader, const SPS
 
 #if JVET_AE0151_CCSAO_HISTORY_OFFSETS_AND_EXT_EO
   // Should be before CcSaoControlIdc to assign setNum
-  if (pcSlice->isIDRorBLA())
+#if JVET_Z0118_GDR
+  if( pcSlice->isIDRorBLA() || pcSlice->getPendingRasInit() || pcSlice->isInterGDR() )
+#else
+  if( pcSlice->isIDRorBLA() || pcSlice->getPendingRasInit() )
+#endif
   {
     g_ccSaoPrvParam[COMPONENT_Y ].clear();
     g_ccSaoPrvParam[COMPONENT_Cb].clear();
diff --git a/source/Lib/EncoderLib/EncSampleAdaptiveOffset.cpp b/source/Lib/EncoderLib/EncSampleAdaptiveOffset.cpp
index abaaeb11410834fea80d4147db50491afda4bc90..00e812d030a4e6f73349059f015193bbbc0e0323 100644
--- a/source/Lib/EncoderLib/EncSampleAdaptiveOffset.cpp
+++ b/source/Lib/EncoderLib/EncSampleAdaptiveOffset.cpp
@@ -2954,7 +2954,11 @@ void EncSampleAdaptiveOffset::getBlkStats(const ComponentID compIdx, const int c
 void EncSampleAdaptiveOffset::CCSAOProcess(CodingStructure& cs, const double* lambdas, const int intraPeriod)
 {
 #if JVET_AE0151_CCSAO_HISTORY_OFFSETS_AND_EXT_EO
-  if (cs.slice->isIDRorBLA())
+#if JVET_Z0118_GDR
+  if( cs.slice->isIDRorBLA() || cs.slice->getPendingRasInit() || cs.slice->isInterGDR() )
+#else
+  if( cs.slice->isIDRorBLA() || cs.slice->getPendingRasInit() )
+#endif
   {
     g_ccSaoPrvParam[COMPONENT_Y ].clear();
     g_ccSaoPrvParam[COMPONENT_Cb].clear();