diff --git a/source/Lib/CommonLib/Picture.cpp b/source/Lib/CommonLib/Picture.cpp
index a4d71971e41ba3f0c3687c9c0f49bafcb8e92bbc..4dc8dde95fd5afc733c1063fd2d756393c61bd3d 100644
--- a/source/Lib/CommonLib/Picture.cpp
+++ b/source/Lib/CommonLib/Picture.cpp
@@ -980,8 +980,11 @@ void Picture::finalInit( const SPS& sps, const PPS& pps, APS** alfApss, APS* lmc
   memcpy(cs->alfApss, alfApss, sizeof(cs->alfApss));
   cs->lmcsAps = lmcsAps;
   cs->scalinglistAps = scalingListAps;
-
   cs->pcv     = pps.pcv;
+  m_conformanceWindow = pps.getConformanceWindow();
+#if JVET_P0590_SCALING_WINDOW
+  m_scalingWindow = pps.getScalingWindow();
+#endif
 
   brickMap = new BrickMap;
   brickMap->create( sps, pps );
diff --git a/source/Lib/CommonLib/Picture.h b/source/Lib/CommonLib/Picture.h
index bcb8016eedeffbe6b60a9d802f6048fa6b0f9e2a..22f700b3d4ee2a4ca19f1b3c2f002dd178a8e4bf 100644
--- a/source/Lib/CommonLib/Picture.h
+++ b/source/Lib/CommonLib/Picture.h
@@ -294,6 +294,12 @@ struct Picture : public UnitArea
   static void   rescalePicture(const CPelUnitBuf& beforeScaling, const Window& confBefore, const PelUnitBuf& afterScaling, const Window& confAfter, const ChromaFormat chromaFormatIDC, const BitDepths& bitDepths, const bool useLumaFilter, const bool downsampling = false);
 #endif
 
+private:
+  Window             m_conformanceWindow;
+#if JVET_P0590_SCALING_WINDOW
+  Window             m_scalingWindow;
+#endif
+
 public:
   bool m_bIsBorderExtended;
   bool referenced;
@@ -333,25 +339,13 @@ public:
   std::deque<Slice*> slices;
   SEIMessages        SEIs;
 
-  uint32_t           m_picWidthInLumaSamples;
-  uint32_t           m_picHeightInLumaSamples;
-  Window             m_conformanceWindow;
-#if JVET_P0590_SCALING_WINDOW
-  Window             m_scalingWindow;
-#endif
-
-  void               setPicWidthInLumaSamples( uint32_t u )                          { m_picWidthInLumaSamples = u; }
-  uint32_t           getPicWidthInLumaSamples() const                                { return  m_picWidthInLumaSamples; }
-  void               setPicHeightInLumaSamples( uint32_t u )                         { m_picHeightInLumaSamples = u; }
-  uint32_t           getPicHeightInLumaSamples() const                               { return  m_picHeightInLumaSamples; }
-
+  uint32_t           getPicWidthInLumaSamples() const                                { return  getRecoBuf( COMPONENT_Y ).width; }
+  uint32_t           getPicHeightInLumaSamples() const                               { return  getRecoBuf( COMPONENT_Y ).height; }
   Window&            getConformanceWindow()                                          { return  m_conformanceWindow; }
   const Window&      getConformanceWindow() const                                    { return  m_conformanceWindow; }
-  void               setConformanceWindow( Window& conformanceWindow )               { m_conformanceWindow = conformanceWindow; }
 #if JVET_P0590_SCALING_WINDOW
   Window&            getScalingWindow()                                              { return  m_scalingWindow; }
   const Window&      getScalingWindow()                                        const { return  m_scalingWindow; }
-  void               setScalingWindow( Window& scalingWindow )                       { m_scalingWindow = scalingWindow; }
 #endif
 
   void         allocateNewSlice();
diff --git a/source/Lib/DecoderLib/DecLib.cpp b/source/Lib/DecoderLib/DecLib.cpp
index be9d09433d94751bcd747df4f5e0cb0249b4289f..4130aa2a8fc3ca3e6f13be9110407757ce78a7d5 100644
--- a/source/Lib/DecoderLib/DecLib.cpp
+++ b/source/Lib/DecoderLib/DecLib.cpp
@@ -923,15 +923,6 @@ void DecLib::xActivateParameterSets()
     m_pcPic->cs->sps   = sps;
     m_pcPic->cs->pps   = pps;
 
-    Window confWin = pps->getConformanceWindow( );
-    m_pcPic->setPicWidthInLumaSamples( pps->getPicWidthInLumaSamples() );
-    m_pcPic->setPicHeightInLumaSamples( pps->getPicHeightInLumaSamples() );
-    m_pcPic->setConformanceWindow( confWin );
-#if JVET_P0590_SCALING_WINDOW
-    Window scalingWindow = pps->getScalingWindow();
-    m_pcPic->setScalingWindow( scalingWindow );
-#endif
-
     memcpy(m_pcPic->cs->alfApss, apss, sizeof(m_pcPic->cs->alfApss));
     m_pcPic->cs->lmcsAps = lmcsAPS;
     m_pcPic->cs->scalinglistAps = scalinglistAPS;
diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp
index 4b73c7809a22532a9582a31102718f9009f85e21..72e9b7f22f579b20f1af2a118aca05ae67ce5131 100644
--- a/source/Lib/EncoderLib/EncLib.cpp
+++ b/source/Lib/EncoderLib/EncLib.cpp
@@ -584,15 +584,6 @@ void EncLib::encode( bool flush, PelStorage* pcPicYuvOrg, PelStorage* cPicYuvTru
     const PPS *pps = m_ppsMap.getPS(2);
     const SPS *sps = m_spsMap.getPS(pps->getSPSId());
 
-    Window confWin = pps->getConformanceWindow( );
-    picCurr->setPicWidthInLumaSamples( pps->getPicWidthInLumaSamples() );
-    picCurr->setPicHeightInLumaSamples( pps->getPicHeightInLumaSamples() );
-    picCurr->setConformanceWindow( confWin );
-#if JVET_P0590_SCALING_WINDOW
-    Window scalingWindow = pps->getScalingWindow();
-    picCurr->setScalingWindow( scalingWindow );
-#endif
-
     picCurr->M_BUFS(0, PIC_ORIGINAL).copyFrom(m_cGOPEncoder.getPicBg()->getRecoBuf());
     picCurr->finalInit( *sps, *pps, m_apss, m_lmcsAPS, m_scalinglistAPS );
     picCurr->poc = m_iPOCLast - 1;
@@ -653,15 +644,6 @@ void EncLib::encode( bool flush, PelStorage* pcPicYuvOrg, PelStorage* cPicYuvTru
       const PPS *pPPS=(ppsID<0) ? m_ppsMap.getFirstPS() : m_ppsMap.getPS(ppsID);
       const SPS *pSPS=m_spsMap.getPS(pPPS->getSPSId());
 
-      Window confWin = pPPS->getConformanceWindow( );
-      pcPicCurr->setPicWidthInLumaSamples( pPPS->getPicWidthInLumaSamples() );
-      pcPicCurr->setPicHeightInLumaSamples( pPPS->getPicHeightInLumaSamples() );
-      pcPicCurr->setConformanceWindow( confWin );
-#if JVET_P0590_SCALING_WINDOW
-      Window scalingWindow = pPPS->getScalingWindow();
-      pcPicCurr->setScalingWindow( scalingWindow );
-#endif
-
       if( m_rprEnabled )
       {
         pcPicCurr->M_BUFS( 0, PIC_ORIGINAL_INPUT ).getBuf( COMPONENT_Y ).copyFrom( pcPicYuvOrg->getBuf( COMPONENT_Y ) );
@@ -824,15 +806,7 @@ void EncLib::encode( bool flush, PelStorage* pcPicYuvOrg, PelStorage* pcPicYuvTr
         int ppsID=-1; // Use default PPS ID
         const PPS *pPPS=(ppsID<0) ? m_ppsMap.getFirstPS() : m_ppsMap.getPS(ppsID);
         const SPS *pSPS=m_spsMap.getPS(pPPS->getSPSId());
-        Window confWin = pPPS->getConformanceWindow( );
-        pcField->setPicWidthInLumaSamples( pPPS->getPicWidthInLumaSamples() );
-        pcField->setPicHeightInLumaSamples( pPPS->getPicHeightInLumaSamples() );
-        pcField->setConformanceWindow( confWin );
-#if JVET_P0590_SCALING_WINDOW
-        Window scalingWindow = pPPS->getScalingWindow();
-        pcField->setScalingWindow( scalingWindow );
-#endif
-
+       
         pcField->finalInit( *pSPS, *pPPS, m_apss, m_lmcsAPS, m_scalinglistAPS );
       }