diff --git a/source/App/BitstreamExtractorApp/BitstreamExtractorApp.cpp b/source/App/BitstreamExtractorApp/BitstreamExtractorApp.cpp
index 4753a70882fbe1dc239d2dd171094caad4a3beae..ad6e1b28dedc35caf08179d4e36b6fac69c38e20 100644
--- a/source/App/BitstreamExtractorApp/BitstreamExtractorApp.cpp
+++ b/source/App/BitstreamExtractorApp/BitstreamExtractorApp.cpp
@@ -47,6 +47,10 @@
 
 BitstreamExtractorApp::BitstreamExtractorApp()
 :m_vpsId(-1)
+#if JVET_Q0394_TIMING_SEI
+, m_removeTimingSEI (false)
+#endif
+
 {
 }
 
@@ -440,6 +444,8 @@ uint32_t BitstreamExtractorApp::decode()
           std::vector<int> LayerIdInOls = vps->getLayerIdsInOls(m_targetOlsIdx);
           bool isIncludedInTargetOls = std::find(LayerIdInOls.begin(), LayerIdInOls.end(), nalu.m_nuhLayerId) != LayerIdInOls.end();
           writeInpuNalUnitToStream &= (isSpecialNalTypes || isIncludedInTargetOls);
+
+          m_removeTimingSEI = !vps->getGeneralHrdParameters()->getGeneralSamePicTimingInAllOlsFlag();
         }
       }
       if( nalu.m_nalUnitType == NAL_UNIT_SPS )
@@ -582,7 +588,11 @@ uint32_t BitstreamExtractorApp::decode()
               }
             }
             // remove unqualified timing related SEI
+#if JVET_Q0394_TIMING_SEI
+            if (sei->payloadType() == SEI::BUFFERING_PERIOD || (m_removeTimingSEI && sei->payloadType() == SEI::PICTURE_TIMING ) || sei->payloadType() == SEI::DECODING_UNIT_INFO)
+#else
             if (sei->payloadType() == SEI::BUFFERING_PERIOD || sei->payloadType() == SEI::PICTURE_TIMING || sei->payloadType() == SEI::DECODING_UNIT_INFO)
+#endif
             {
               bool targetOlsIdxGreaterThanZero = m_targetOlsIdx > 0;
               writeInpuNalUnitToStream &= !targetOlsIdxGreaterThanZero;
diff --git a/source/App/BitstreamExtractorApp/BitstreamExtractorApp.h b/source/App/BitstreamExtractorApp/BitstreamExtractorApp.h
index 97c1108f75737661562af2445c0900d34f2123d9..d8af800df5592321517d70fab75d6c94772b8e90 100644
--- a/source/App/BitstreamExtractorApp/BitstreamExtractorApp.h
+++ b/source/App/BitstreamExtractorApp/BitstreamExtractorApp.h
@@ -82,6 +82,9 @@ protected:
   HLSWriter             m_hlSyntaxWriter;
   SEIReader             m_seiReader;
   int                   m_vpsId;
+#if JVET_Q0394_TIMING_SEI
+  bool                  m_removeTimingSEI;
+#endif
 
   PicHeader             m_picHeader;
   int                   m_prevTid0Poc;