diff --git a/source/Lib/DecoderLib/DecLib.cpp b/source/Lib/DecoderLib/DecLib.cpp
index a1f2a738cf5c3b8f6c378894c1ffdb7b6f876fcf..231cf95a5f94430744070ba350a8f6dcc511f24e 100644
--- a/source/Lib/DecoderLib/DecLib.cpp
+++ b/source/Lib/DecoderLib/DecLib.cpp
@@ -1654,6 +1654,7 @@ void DecLib::xCheckParameterSetConstraints(const int layerId)
       // store PPS ID to have sub-picture info for the next pictures when last rectangular slice in the picture is encountered
       if( slice->getSliceID() + 1 == pps->getNumSlicesInPic() )
       {
+        previousSubPicIds[layerId].clear();
         for( int subPicIdx = 0; subPicIdx < sps->getNumSubPics(); subPicIdx++ )
         {
           previousSubPicIds[layerId].push_back( pps->getSubPic( subPicIdx ).getSubPicID() );