diff --git a/Modules/Core/ImageBase/src/otbImageIOBase.cxx b/Modules/Core/ImageBase/src/otbImageIOBase.cxx
index 123a8d71434b54d6a33d8eea919b1add27821fff..d88d601fd66a007b1db2ec7c4f782f1eee852b4b 100644
--- a/Modules/Core/ImageBase/src/otbImageIOBase.cxx
+++ b/Modules/Core/ImageBase/src/otbImageIOBase.cxx
@@ -1281,6 +1281,8 @@ ImageIOBase
   bool workBackward = (outPixelSize > inPixelSize);
   char *pixBuffer = new char[outPixelSize];
 
+  memset(pixBuffer, 0, outPixelSize);
+
   if (workBackward)
     {
     inPos = inPos + numberOfPixels*inPixelSize;
diff --git a/Modules/IO/ImageIO/include/otbImageFileReader.txx b/Modules/IO/ImageIO/include/otbImageFileReader.txx
index fe7d03f66cdc39ab2a864e246895ed7dad3c15d3..cf647aac63f77a3945b60f8b48eb160d94d74779 100644
--- a/Modules/IO/ImageIO/include/otbImageFileReader.txx
+++ b/Modules/IO/ImageIO/include/otbImageFileReader.txx
@@ -69,7 +69,8 @@ ImageFileReader<TOutputImage, ConvertPixelTraits>
    m_ActualIORegion(),
    m_FilenameHelper(FNameHelperType::New()),
    m_AdditionalNumber(0),
-   m_KeywordListUpToDate(false)
+   m_KeywordListUpToDate(false),
+   m_IOComponents(0)
 {
 }
 
diff --git a/Modules/IO/ImageIO/include/otbImageFileWriter.txx b/Modules/IO/ImageIO/include/otbImageFileWriter.txx
index c2b3ed366d143b0a01830f2b4c1f167961cf1dc5..3224f5a3860a47e2cb59c7d24d00296bb90747dd 100644
--- a/Modules/IO/ImageIO/include/otbImageFileWriter.txx
+++ b/Modules/IO/ImageIO/include/otbImageFileWriter.txx
@@ -69,7 +69,8 @@ ImageFileWriter<TInputImage>
     m_WriteGeomFile(false),
     m_FilenameHelper(),
     m_IsObserving(true),
-    m_ObserverID(0)
+    m_ObserverID(0),
+    m_IOComponents(0)
 {
   //Init output index shift
   m_ShiftOutputIndex.Fill(0);