diff --git a/source/App/BitstreamExtractorApp/BitstreamExtractorApp.cpp b/source/App/BitstreamExtractorApp/BitstreamExtractorApp.cpp
index d603402bf4935b8206a2672c43d16becb9580438..c434690433bc24621b7a590a50df045de9777b05 100644
--- a/source/App/BitstreamExtractorApp/BitstreamExtractorApp.cpp
+++ b/source/App/BitstreamExtractorApp/BitstreamExtractorApp.cpp
@@ -46,9 +46,7 @@
 #include "EncoderLib/AnnexBwrite.h"
 
 BitstreamExtractorApp::BitstreamExtractorApp()
-#if JVET_P0118_OLS_EXTRACTION
 :m_vpsId(-1)
-#endif
 {
 }
 
@@ -411,9 +409,7 @@ uint32_t BitstreamExtractorApp::decode()
         // get VPS back
         vps = m_parameterSetManager.getVPS(vpsId);
         xPrintVPSInfo(vps);
-#if JVET_P0118_OLS_EXTRACTION
         m_vpsId = vps->getVPSId();
-#endif
         // example: just write the parsed VPS back to the stream
         // *** add modifications here ***
         // only write, if not dropped earlier
@@ -424,7 +420,6 @@ uint32_t BitstreamExtractorApp::decode()
         }
       }
 
-#if JVET_P0118_OLS_EXTRACTION
       VPS *vps = nullptr;
       if (m_targetOlsIdx >= 0)
       {
@@ -449,7 +444,6 @@ uint32_t BitstreamExtractorApp::decode()
           writeInpuNalUnitToStream &= (isSpecialNalTypes || isIncludedInTargetOls);
         }
       }
-#endif
       if( nalu.m_nalUnitType == NAL_UNIT_SPS )
       {
         SPS* sps = new SPS();
@@ -567,7 +561,6 @@ uint32_t BitstreamExtractorApp::decode()
         xReadPicHeader(nalu);
       }
 #endif
-#if JVET_P0118_OLS_EXTRACTION
       if (m_targetOlsIdx>=0)
       {
         if (nalu.m_nalUnitType == NAL_UNIT_PREFIX_SEI)
@@ -609,7 +602,6 @@ uint32_t BitstreamExtractorApp::decode()
           delete vps;
         }
       }
-#endif
 #if JVET_Q0397_SUB_PIC_EXTRACT
       if (m_subPicId>=0)
       {
diff --git a/source/App/BitstreamExtractorApp/BitstreamExtractorApp.h b/source/App/BitstreamExtractorApp/BitstreamExtractorApp.h
index 6adc782a1048e9533a8faceb7c706f33f2560e55..5f420e2ece2fe9c48ddb20af18a9ccde38ac2398 100644
--- a/source/App/BitstreamExtractorApp/BitstreamExtractorApp.h
+++ b/source/App/BitstreamExtractorApp/BitstreamExtractorApp.h
@@ -49,9 +49,7 @@
 #include "VLCReader.h"
 #include "VLCWriter.h"
 
-#if JVET_P0118_OLS_EXTRACTION
 #include "SEIread.h"
-#endif
 
 class BitstreamExtractorApp : public BitstreamExtractorAppCfg
 {
@@ -84,10 +82,8 @@ protected:
   ParameterSetManager   m_parameterSetManager;
   HLSyntaxReader        m_hlSynaxReader;
   HLSWriter             m_hlSyntaxWriter;
-#if JVET_P0118_OLS_EXTRACTION
   SEIReader             m_seiReader;
   int                   m_vpsId;
-#endif
 
 #if JVET_Q0397_SUB_PIC_EXTRACT
   PicHeader             m_picHeader;
diff --git a/source/App/BitstreamExtractorApp/BitstreamExtractorAppCfg.cpp b/source/App/BitstreamExtractorApp/BitstreamExtractorAppCfg.cpp
index 51978d83270bf8332ef38352705859d4ae4c61eb..064d11a299f6ac83794594fa5e33c089ebf3b3ce 100644
--- a/source/App/BitstreamExtractorApp/BitstreamExtractorAppCfg.cpp
+++ b/source/App/BitstreamExtractorApp/BitstreamExtractorAppCfg.cpp
@@ -120,15 +120,7 @@ namespace po = df::program_options_lite;
       return false;
     }
   }
-#if JVET_P0118_OLS_EXTRACTION
   CHECK(m_maxTemporalLayer < -1 || m_maxTemporalLayer > 6, "MaxTemporalLayer shall either be equal -1 (for diabled) or in the range of 0 to 6, inclusive");
-#else
-  if (m_targetOlsIdx != -1)
-  {
-    std::cerr << "Extraction by target output layer set index is not implemented yet";
-    return false;
-  }
-#endif
 #if !JVET_Q0397_SUB_PIC_EXTRACT
   if (m_subPicId != -1)
   {
@@ -155,13 +147,8 @@ namespace po = df::program_options_lite;
 BitstreamExtractorAppCfg::BitstreamExtractorAppCfg()
 : m_bitstreamFileNameIn()
 , m_bitstreamFileNameOut()
-#if JVET_P0118_OLS_EXTRACTION
 , m_maxTemporalLayer( 0 )
 , m_targetOlsIdx( 0 )
-#else
-, m_maxTemporalLayer( -1 )
-, m_targetOlsIdx( -1 )
-#endif
 , m_subPicId( -1 )
 {
 }
diff --git a/source/Lib/CommonLib/Slice.h b/source/Lib/CommonLib/Slice.h
index e220640f3b04e5e5c6bde226dedc25fd8463f67b..3677959589ced8204b02bf653058501677a132f7 100644
--- a/source/Lib/CommonLib/Slice.h
+++ b/source/Lib/CommonLib/Slice.h
@@ -1004,9 +1004,7 @@ public:
 
   void              setLayerIdInOls  (int olsIdx, int layerIdx, int layerId)    { m_layerIdInOls[olsIdx][layerIdx] = layerId; }
   uint32_t          getLayerIdInOls  (int olsIdx, int layerIdx) const           { return m_layerIdInOls[olsIdx][layerIdx]   ; }
-#if JVET_P0118_OLS_EXTRACTION
   std::vector<int>  getLayerIdsInOls(int targetOlsIdx)                    { return m_layerIdInOls[targetOlsIdx];     }
-#endif
 };
 
 class Window
diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h
index c57c58354c56a52709c3425c9b24373694e466e2..dd39f47e2262d22287c1132591a0069f602fe058 100644
--- a/source/Lib/CommonLib/TypeDef.h
+++ b/source/Lib/CommonLib/TypeDef.h
@@ -167,7 +167,6 @@
 #define APPLY_SBT_SL_ON_MTS                               1 // apply save & load fast algorithm on inter MTS when SBT is on
 
 
-#define JVET_P0118_OLS_EXTRACTION                         1  // OLS based sub-bitstream extraction
 
 #define JVET_Q0397_SUB_PIC_EXTRACT                        1  // subpicture extraction