diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp
index 5ce2ea83f0d8e2b26443915eb1aa735ead42f242..d76edb5d6bcca068cb936c8c948a0b3a34458d09 100644
--- a/source/Lib/DecoderLib/VLCReader.cpp
+++ b/source/Lib/DecoderLib/VLCReader.cpp
@@ -858,41 +858,24 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS )
   if (!pcPPS->getNoPicPartitionFlag())
   {
     READ_FLAG(uiCode, "pps_rpl_info_in_ph_flag");                    pcPPS->setRplInfoInPhFlag(uiCode ? true : false);
-  }
-  else
-  {
-    pcPPS->setRplInfoInPhFlag(false);
-  }
-  if (!pcPPS->getNoPicPartitionFlag())
-  {
     READ_FLAG(uiCode, "pps_sao_info_in_ph_flag");                    pcPPS->setSaoInfoInPhFlag(uiCode ? true : false);
-  }
-  else
-  {
-    pcPPS->setSaoInfoInPhFlag(false);
-  }
-  if (!pcPPS->getNoPicPartitionFlag())
-  {
     READ_FLAG(uiCode, "pps_alf_info_in_ph_flag");                    pcPPS->setAlfInfoInPhFlag(uiCode ? true : false);
+    if ((pcPPS->getUseWP() || pcPPS->getWPBiPred()) && pcPPS->getRplInfoInPhFlag())
+    {
+      READ_FLAG(uiCode, "pps_wp_info_in_ph_flag");                   pcPPS->setWpInfoInPhFlag(uiCode ? true : false);
+    }
+    else
+    {
+      pcPPS->setWpInfoInPhFlag(false);
+    }
+    READ_FLAG(uiCode, "pps_qp_delta_info_in_ph_flag");               pcPPS->setQpDeltaInfoInPhFlag(uiCode ? true : false);
   }
   else
   {
+    pcPPS->setRplInfoInPhFlag(false);
+    pcPPS->setSaoInfoInPhFlag(false);
     pcPPS->setAlfInfoInPhFlag(false);
-  }
-  if (!pcPPS->getNoPicPartitionFlag() && (pcPPS->getUseWP() || pcPPS->getWPBiPred()) && pcPPS->getRplInfoInPhFlag())
-  {
-    READ_FLAG(uiCode, "pps_wp_info_in_ph_flag");                   pcPPS->setWpInfoInPhFlag(uiCode ? true : false);
-  }
-  else
-  {
     pcPPS->setWpInfoInPhFlag(false);
-  }
-  if (!pcPPS->getNoPicPartitionFlag())
-  {
-    READ_FLAG(uiCode, "qp_delta_info_in_ph_flag");               pcPPS->setQpDeltaInfoInPhFlag(uiCode ? true : false);
-  }
-  else
-  {
     pcPPS->setQpDeltaInfoInPhFlag(false);
   }
 #else