diff --git a/Code/DisparityMap/otbMulti3DMapToDEMFilter.txx b/Code/DisparityMap/otbMulti3DMapToDEMFilter.txx
index 2c3911d0118d588f995765d2bceae1961870e3a7..57aac98daa52862151a6c6a69f5a66309eb16cb5 100644
--- a/Code/DisparityMap/otbMulti3DMapToDEMFilter.txx
+++ b/Code/DisparityMap/otbMulti3DMapToDEMFilter.txx
@@ -550,6 +550,8 @@ void Multi3DMapToDEMFilter<T3DImage, TMaskImage, TOutputDEMImage>::ThreadedGener
 
   typename T3DImage::RegionType splitRegion;
 
+  MapPixelType position;
+
   itk::ImageRegionConstIterator<InputMapType> mapIt;
   for (unsigned int k = 0; k < this->GetNumberOf3DMaps(); ++k)
     {
@@ -613,7 +615,7 @@ void Multi3DMapToDEMFilter<T3DImage, TMaskImage, TOutputDEMImage>::ThreadedGener
             }
           }
 
-        MapPixelType position = mapIt.Get();
+        position = mapIt.Get();
 
         //std::cout<<"position"<<position<<std::endl;
         if (!this->m_IsGeographic)