diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp
index 3356ceacb1991f64820867f808fd7635e8b7c81f..55892dbaea8b98dd1917bcb66ea36cf5f3c94ace 100644
--- a/source/Lib/DecoderLib/VLCReader.cpp
+++ b/source/Lib/DecoderLib/VLCReader.cpp
@@ -3009,7 +3009,7 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag
       {
         for (int i = 0; i < rpl->getNumRefEntries(); i++)
         {
-          if (rpl->isRefPicLongterm(i))
+          if (rpl->isRefPicLongterm(i) && !rpl->isInterLayerRefPic(i))
           {
             if (rpl->getLtrpInSliceHeaderFlag())
             {
@@ -3898,7 +3898,7 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par
     {
       for (int i = 0; i < rpl0->getNumRefEntries(); i++)
       {
-        if (rpl0->isRefPicLongterm(i))
+        if (rpl0->isRefPicLongterm(i) && !rpl0->isInterLayerRefPic(i))
         {
           if (rpl0->getLtrpInSliceHeaderFlag())
           {
@@ -3983,7 +3983,7 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par
     {
       for (int i = 0; i < rpl1->getNumRefEntries(); i++)
       {
-        if (rpl1->isRefPicLongterm(i))
+        if (rpl1->isRefPicLongterm(i) && !rpl1->isInterLayerRefPic(i))
         {
           if (rpl1->getLtrpInSliceHeaderFlag())
           {