diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp
index 5ce1258b02f18090b936ed693e51314258ce8a9d..cb82f74572c9d17822e844e83aa75e8e2a97a87a 100644
--- a/source/Lib/DecoderLib/VLCReader.cpp
+++ b/source/Lib/DecoderLib/VLCReader.cpp
@@ -3706,7 +3706,7 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par
     {
       int bitsSliceAddress = ceilLog2(currSubPic.getNumSlicesInSubPic());
       READ_CODE(bitsSliceAddress, uiCode, "slice_address");  sliceAddr = uiCode;
-      CHECK(sliceAddr >= pps->getNumSlicesInPic(), "Invalid slice address");
+      CHECK(sliceAddr >= currSubPic.getNumSlicesInSubPic(), "Invalid slice address");
     }
     else
     {