diff --git a/include/otbSARTemporalCorrelationGridImageFilter.txx b/include/otbSARTemporalCorrelationGridImageFilter.txx
index 38191291b28e81fe7b017e0fef437c6d08ba991d..a7ec5551a48aa3cbd05ccc7bc03f7421596f5a9f 100644
--- a/include/otbSARTemporalCorrelationGridImageFilter.txx
+++ b/include/otbSARTemporalCorrelationGridImageFilter.txx
@@ -494,7 +494,7 @@ namespace otb
     int nbLinesSlave = slavePtr->GetLargestPossibleRegion().GetSize()[1];
 
     // Array to store correlation rate for each pixel and each shift
-    double arrayRate [2*m_WinAround_ShiftAzi+1][2*m_WinAround_ShiftRan+1];
+    std::vector< std::vector<double> >  arrayRate (2*m_WinAround_ShiftAzi+1, std::vector<double>(2*m_WinAround_ShiftRan+1));
     float arrayPic[3][3];
 
     float dx, dy, VAL_MAX;