diff --git a/source/Lib/DecoderLib/DecLib.cpp b/source/Lib/DecoderLib/DecLib.cpp
index cde911284cf593a1a5953b3489a9493f440eafac..7df346d70087e8b668049964ceee9bac3ceab191 100644
--- a/source/Lib/DecoderLib/DecLib.cpp
+++ b/source/Lib/DecoderLib/DecLib.cpp
@@ -1562,11 +1562,15 @@ bool DecLib::xDecodeSlice(InputNALUnit &nalu, int &iSkipFrame, int iPOCLastDispl
 
   if (pcSlice->getSPS()->getUseReshaper())
   {
+#if JVET_O0428_LMCS_CLEANUP
+    if (m_bFirstSliceInPicture)
+      m_sliceLmcsApsId = -1;
+#endif
     if (pcSlice->getLmcsEnabledFlag())
     {
       APS* lmcsAPS = pcSlice->getLmcsAPS();
 #if JVET_O0428_LMCS_CLEANUP
-      if (m_bFirstSliceInPicture)
+      if (m_sliceLmcsApsId == -1)
       {
         m_sliceLmcsApsId = lmcsAPS->getAPSId();
       }