diff --git a/source/Lib/EncoderLib/EncGOP.cpp b/source/Lib/EncoderLib/EncGOP.cpp
index 4855993205c4066cc94ac95a09bc6390b64737d8..6d43cf0f71428a2c54b81d77a47d90b817ecfcb5 100644
--- a/source/Lib/EncoderLib/EncGOP.cpp
+++ b/source/Lib/EncoderLib/EncGOP.cpp
@@ -2780,6 +2780,7 @@ void EncGOP::compressGOP( int iPOCLast, int iNumPicRcvd, PicList& rcListPic,
           if (pcSlice->getSliceType() == I_SLICE)
           {
             //reshape original signal
+            pcPic->getOrigBuf().copyFrom(pcPic->getTrueOrigBuf());
             if (pcSlice->getLmcsEnabledFlag())
             {
               pcPic->getOrigBuf(COMPONENT_Y).rspSignal(m_pcReshaper->getFwdLUT());
@@ -2788,7 +2789,6 @@ void EncGOP::compressGOP( int iPOCLast, int iNumPicRcvd, PicList& rcListPic,
             }
             else
             {
-              pcPic->getOrigBuf().copyFrom(pcPic->getTrueOrigBuf());
               m_pcReshaper->setSrcReshaped(false);
               m_pcReshaper->setRecReshaped(false);
             }