diff --git a/source/App/DecoderApp/DecApp.cpp b/source/App/DecoderApp/DecApp.cpp
index 655713809b5be7a55969441b3eb2be64281374ab..cf9965ee2a8c77b19a0c2a4975fabc4d6e62e9cc 100644
--- a/source/App/DecoderApp/DecApp.cpp
+++ b/source/App/DecoderApp/DecApp.cpp
@@ -122,11 +122,7 @@ uint32_t DecApp::decode()
   }
 
   // main decoder loop
-#if JVET_P0125_EOS_LAYER_SPECIFIC
   bool loopFiltered[MAX_VPS_LAYERS] = { false };
-#else
-  bool loopFiltered = false;
-#endif
 
   bool bPicSkipped = false;
 
@@ -216,33 +212,17 @@ uint32_t DecApp::decode()
       }
     }
 
-#if JVET_P0125_EOS_LAYER_SPECIFIC
     if ((bNewPicture || !bitstreamFile || nalu.m_nalUnitType == NAL_UNIT_EOS) && !m_cDecLib.getFirstSliceInSequence(nalu.m_nuhLayerId) && !bPicSkipped)
-#else
-    if ((bNewPicture || !bitstreamFile || nalu.m_nalUnitType == NAL_UNIT_EOS) && !m_cDecLib.getFirstSliceInSequence() && !bPicSkipped)
-#endif
     {
-#if JVET_P0125_EOS_LAYER_SPECIFIC
       if (!loopFiltered[nalu.m_nuhLayerId] || bitstreamFile)
-#else
-      if (!loopFiltered || bitstreamFile)
-#endif
       {
         m_cDecLib.executeLoopFilters();
         m_cDecLib.finishPicture( poc, pcListPic );
       }
-#if JVET_P0125_EOS_LAYER_SPECIFIC
       loopFiltered[nalu.m_nuhLayerId] = (nalu.m_nalUnitType == NAL_UNIT_EOS);
-#else
-      loopFiltered = (nalu.m_nalUnitType == NAL_UNIT_EOS);
-#endif
       if (nalu.m_nalUnitType == NAL_UNIT_EOS)
       {
-#if JVET_P0125_EOS_LAYER_SPECIFIC
         m_cDecLib.setFirstSliceInSequence(true, nalu.m_nuhLayerId);
-#else
-        m_cDecLib.setFirstSliceInSequence(true);
-#endif
       }
 
 #if JVET_P0978_RPL_RESTRICTIONS
@@ -250,11 +230,7 @@ uint32_t DecApp::decode()
 #endif
     }
     else if ( (bNewPicture || !bitstreamFile || nalu.m_nalUnitType == NAL_UNIT_EOS ) &&
-#if JVET_P0125_EOS_LAYER_SPECIFIC
       m_cDecLib.getFirstSliceInSequence(nalu.m_nuhLayerId))
-#else
-              m_cDecLib.getFirstSliceInSequence () )
-#endif
     {
       m_cDecLib.setFirstSliceInPicture (true);
     }
diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h
index 29f9a06abb3a95fd2aec8bfb0e2b0d12ff520a9b..cf56823e5a321f7ea7bd157b701afe0d6601b6a8 100644
--- a/source/Lib/CommonLib/TypeDef.h
+++ b/source/Lib/CommonLib/TypeDef.h
@@ -72,7 +72,6 @@
 
 
 
-#define JVET_P0125_EOS_LAYER_SPECIFIC                     1 // JVET-P0125: Specify EOS NAL units to be layer specific
 
 #define JVET_Q0482_REMOVE_CONSTANT_PARAMS                 1 // JVET-Q0482: Remove constant slice header parameter settings in PPS
 
diff --git a/source/Lib/DecoderLib/DecLib.cpp b/source/Lib/DecoderLib/DecLib.cpp
index f094c7ecc58016ad039ed98d85c161cc638bc79d..1b1f3c8bf435f84839d9bb95c95cbd21a0133807 100644
--- a/source/Lib/DecoderLib/DecLib.cpp
+++ b/source/Lib/DecoderLib/DecLib.cpp
@@ -65,11 +65,7 @@ bool tryDecodePicture( Picture* pcEncPic, const int expectedPoc, const std::stri
   PicList* pcListPic = NULL;
 
   static bool bFirstCall      = true;             /* TODO: MT */
-#if JVET_P0125_EOS_LAYER_SPECIFIC
   static bool loopFiltered[MAX_VPS_LAYERS] = { false };            /* TODO: MT */
-#else
-  static bool loopFiltered    = false;            /* TODO: MT */
-#endif
   static int  iPOCLastDisplay = -MAX_INT;         /* TODO: MT */
 
   static std::ifstream* bitstreamFile = nullptr;  /* TODO: MT */
@@ -154,17 +150,9 @@ bool tryDecodePicture( Picture* pcEncPic, const int expectedPoc, const std::stri
         }
       }
 
-#if JVET_P0125_EOS_LAYER_SPECIFIC
       if ((bNewPicture || !*bitstreamFile || nalu.m_nalUnitType == NAL_UNIT_EOS) && !pcDecLib->getFirstSliceInSequence(nalu.m_nuhLayerId))
-#else
-      if( ( bNewPicture || !*bitstreamFile || nalu.m_nalUnitType == NAL_UNIT_EOS ) && !pcDecLib->getFirstSliceInSequence() )
-#endif
       {
-#if JVET_P0125_EOS_LAYER_SPECIFIC
         if (!loopFiltered[nalu.m_nuhLayerId] || *bitstreamFile)
-#else
-        if( !loopFiltered || *bitstreamFile )
-#endif
         {
           pcDecLib->finishPictureLight( poc, pcListPic );
 
@@ -359,26 +347,14 @@ bool tryDecodePicture( Picture* pcEncPic, const int expectedPoc, const std::stri
 
 
         }
-#if JVET_P0125_EOS_LAYER_SPECIFIC
         loopFiltered[nalu.m_nuhLayerId] = (nalu.m_nalUnitType == NAL_UNIT_EOS);
-#else
-        loopFiltered = ( nalu.m_nalUnitType == NAL_UNIT_EOS );
-#endif
         if( nalu.m_nalUnitType == NAL_UNIT_EOS )
         {
-#if JVET_P0125_EOS_LAYER_SPECIFIC
           pcDecLib->setFirstSliceInSequence(true, nalu.m_nuhLayerId);
-#else
-          pcDecLib->setFirstSliceInSequence( true );
-#endif
         }
 
       }
-#if JVET_P0125_EOS_LAYER_SPECIFIC
       else if ((bNewPicture || !*bitstreamFile || nalu.m_nalUnitType == NAL_UNIT_EOS) && pcDecLib->getFirstSliceInSequence(nalu.m_nuhLayerId))
-#else
-      else if( ( bNewPicture || !*bitstreamFile || nalu.m_nalUnitType == NAL_UNIT_EOS ) && pcDecLib->getFirstSliceInSequence() )
-#endif
       {
         pcDecLib->setFirstSliceInPicture( true );
       }
@@ -396,14 +372,10 @@ bool tryDecodePicture( Picture* pcEncPic, const int expectedPoc, const std::stri
       pcDecLib = nullptr;
     }
     bFirstCall   = true;
-#if JVET_P0125_EOS_LAYER_SPECIFIC
     for (int i = 0; i < MAX_VPS_LAYERS; i++)
     {
       loopFiltered[i] = false;
     }
-#else
-    loopFiltered = false;
-#endif
     iPOCLastDisplay = -MAX_INT;
 
     if( bytestream )
@@ -461,11 +433,7 @@ DecLib::DecLib()
   , m_prevPOC(MAX_INT)
   , m_prevTid0POC(0)
   , m_bFirstSliceInPicture(true)
-#if JVET_P0125_EOS_LAYER_SPECIFIC
   , m_firstSliceInSequence{ true }
-#else
-  , m_bFirstSliceInSequence(true)
-#endif
   , m_firstSliceInBitstream(true)
   , m_prevSliceSkipped(false)
   , m_skippedPOC(0)
@@ -1895,15 +1863,9 @@ bool DecLib::xDecodeSlice(InputNALUnit &nalu, int &iSkipFrame, int iPOCLastDispl
   //For inference of NoOutputOfPriorPicsFlag
   if (m_apcSlicePilot->getRapPicFlag() || m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_GDR)
   {
-#if JVET_P0125_EOS_LAYER_SPECIFIC
     if ((m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA && m_bFirstSliceInSequence[nalu.m_nuhLayerId]) ||
       (m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA && m_apcSlicePilot->getHandleCraAsCvsStartFlag()) ||
       (m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_GDR && m_bFirstSliceInSequence[nalu.m_nuhLayerId]))
-#else
-    if ((m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA && m_bFirstSliceInSequence) ||
-        (m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA && m_apcSlicePilot->getHandleCraAsCvsStartFlag()) ||
-        (m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_GDR && m_bFirstSliceInSequence))
-#endif
     {
       m_apcSlicePilot->setNoIncorrectPicOutputFlag(true);
     }
@@ -2041,11 +2003,7 @@ bool DecLib::xDecodeSlice(InputNALUnit &nalu, int &iSkipFrame, int iPOCLastDispl
   m_prevSliceSkipped = false;
 
   //we should only get a different poc for a new picture (with CTU address==0)
-#if JVET_P0125_EOS_LAYER_SPECIFIC
   if (m_apcSlicePilot->getPOC() != m_prevPOC && !m_firstSliceInSequence[nalu.m_nuhLayerId] && (m_apcSlicePilot->getFirstCtuRsAddrInSlice() != 0))
-#else
-  if(m_apcSlicePilot->getPOC() != m_prevPOC && !m_bFirstSliceInSequence && (m_apcSlicePilot->getFirstCtuRsAddrInSlice() != 0))
-#endif
   {
     msg( WARNING, "Warning, the first slice of a picture might have been lost!\n");
   }
@@ -2119,11 +2077,7 @@ bool DecLib::xDecodeSlice(InputNALUnit &nalu, int &iSkipFrame, int iPOCLastDispl
   // actual decoding starts here
   xActivateParameterSets( nalu.m_nuhLayerId );
 
-#if JVET_P0125_EOS_LAYER_SPECIFIC
   m_firstSliceInSequence[nalu.m_nuhLayerId] = false;
-#else
-  m_bFirstSliceInSequence = false;
-#endif
   m_firstSliceInBitstream  = false;
 
   Slice* pcSlice = m_pcPic->slices[m_uiSliceSegmentIdx];
diff --git a/source/Lib/DecoderLib/DecLib.h b/source/Lib/DecoderLib/DecLib.h
index af2c3d508b70ff088fa634afb55b73b13c2a8fe6..d2be98fea375c961615f1a5e76c7b931acceb9b8 100644
--- a/source/Lib/DecoderLib/DecLib.h
+++ b/source/Lib/DecoderLib/DecLib.h
@@ -117,11 +117,7 @@ private:
   int                     m_prevPOC;
   int                     m_prevTid0POC;
   bool                    m_bFirstSliceInPicture;
-#if JVET_P0125_EOS_LAYER_SPECIFIC
   bool                    m_firstSliceInSequence[MAX_VPS_LAYERS];
-#else
-  bool                    m_bFirstSliceInSequence;
-#endif
   bool                    m_firstSliceInBitstream;
   bool                    m_prevSliceSkipped;
   int                     m_skippedPOC;
@@ -217,13 +213,8 @@ public:
   void  setNoOutputPriorPicsFlag (bool val) { m_isNoOutputPriorPics = val; }
   void  setFirstSliceInPicture (bool val)  { m_bFirstSliceInPicture = val; }
   bool  getFirstSliceInPicture () const  { return m_bFirstSliceInPicture; }
-#if JVET_P0125_EOS_LAYER_SPECIFIC
   bool  getFirstSliceInSequence(int layerId) const { return m_firstSliceInSequence[layerId]; }
   void  setFirstSliceInSequence(bool val, int layerId) { m_firstSliceInSequence[layerId] = val; }
-#else
-  bool  getFirstSliceInSequence () const   { return m_bFirstSliceInSequence; }
-  void  setFirstSliceInSequence (bool val) { m_bFirstSliceInSequence = val; }
-#endif
   void  setDecodedSEIMessageOutputStream(std::ostream *pOpStream) { m_pDecodedSEIOutputStream = pOpStream; }
   uint32_t  getNumberOfChecksumErrorsDetected() const { return m_numberOfChecksumErrorsDetected; }