diff --git a/source/Lib/CommonLib/InterPrediction.cpp b/source/Lib/CommonLib/InterPrediction.cpp
index 41d34cb78269ec71b602efdcbe69cd5ae2883190..17eda12b0393e2aa6c4967b61e3ebdc6202c3f79 100644
--- a/source/Lib/CommonLib/InterPrediction.cpp
+++ b/source/Lib/CommonLib/InterPrediction.cpp
@@ -226,6 +226,10 @@ void InterPrediction::init( RdCost* pcRdCost, ChromaFormat chromaFormatIDC, cons
     const int MVBUFFER_SIZE = MAX_CU_SIZE / MIN_PU_SIZE;
     m_storedMv = new Mv[MVBUFFER_SIZE*MVBUFFER_SIZE];
   }
+  if (m_IBCBufferWidth != g_IBCBufferSize / ctuSize)
+  {
+    m_IBCBuffer.destroy();
+  }
   if (m_IBCBuffer.bufs.empty())
   {
     m_IBCBufferWidth = g_IBCBufferSize / ctuSize;