diff --git a/Testing/Code/IO/CMakeLists.txt b/Testing/Code/IO/CMakeLists.txt
index 27591828d0c22a2a4831429d09da9d883328d65d..c591bafa550b3635eea6e1066dcb211e5a91c668 100644
--- a/Testing/Code/IO/CMakeLists.txt
+++ b/Testing/Code/IO/CMakeLists.txt
@@ -1139,16 +1139,26 @@ ENDIF(OTB_DATA_USE_LARGEINPUT)
 ADD_TEST(ioTuVectorImageComplexNew ${IO_TESTS9}
   otbVectorImageComplexNew)
 
-ADD_TEST(ioTuVectorImageComplexFloatTest ${IO_TESTS9}
+ADD_TEST(ioTvVectorImageComplexFloatTest ${IO_TESTS9}
   otbVectorImageComplexFloatTest
     ${INPUTDATA}/multibandComplexFloat.hdr
 )
 
-ADD_TEST(ioTuVectorImageComplexDoubleTest ${IO_TESTS9}
+ADD_TEST(ioTvVectorImageComplexDoubleTest ${IO_TESTS9}
   otbVectorImageComplexDoubleTest
     ${INPUTDATA}/multibandComplexDouble.hdr
 )
 
+ADD_TEST(ioTvImageComplexFloatTest ${IO_TESTS9}
+  otbImageComplexFloatTest
+    ${INPUTDATA}/multibandComplexFloat.hdr
+)
+
+ADD_TEST(ioTvImageComplexDoubleTest ${IO_TESTS9}
+  otbImageComplexDoubleTest
+    ${INPUTDATA}/multibandComplexDouble.hdr
+)
+
 # ---  otb::VectorImageReadWriteTest  ---
 ADD_TEST(ioTvVectorImageFileReaderWriterTest ${IO_TESTS9}
    --compare-image ${EPSILON_9}
@@ -2758,6 +2768,7 @@ otbVectorImageTest.cxx
 otbStreamingImageFilterTest.cxx
 otbVectorImageFileReaderWriterTest.cxx
 otbStreamingShortImageFileWriterTest.cxx
+otbComplexImageTests.cxx
 )
 SET(BasicIO_SRCS10
 otbIOTests10.cxx
diff --git a/Testing/Code/IO/otbComplexImageTests.cxx b/Testing/Code/IO/otbComplexImageTests.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..51e9cb4c9a54048226f767367ac5f46add525658
--- /dev/null
+++ b/Testing/Code/IO/otbComplexImageTests.cxx
@@ -0,0 +1,136 @@
+/*=========================================================================
+
+  Program:   ORFEO Toolbox
+  Language:  C++
+  Date:      $Date$
+  Version:   $Revision$
+
+
+  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
+  See OTBCopyright.txt for details.
+
+
+  This software is distributed WITHOUT ANY WARRANTY; without even
+  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+  PURPOSE.  See the above copyright notices for more information.
+
+=========================================================================*/
+
+#if defined(_MSC_VER)
+#pragma warning ( disable : 4786 )
+#endif
+
+#include "itkExceptionObject.h"
+#include <iostream>
+#include <fstream>
+#include <string>
+
+#include "otbImage.h"
+#include "otbVectorImage.h"
+#include "otbImageFileReader.h"
+
+int otbVectorImageComplexNew(int argc, char* argv[])
+{
+  typedef std::complex<float>            PixelType;
+  typedef otb::VectorImage<PixelType, 2> ImageType;
+  ImageType::Pointer image = ImageType::New();
+  image->Initialize();
+
+  return EXIT_SUCCESS;
+}
+
+
+template<class InternalType>
+int otbVectorImageComplexGenericTest(int argc, char* argv[])
+{
+  typedef std::complex<InternalType>      PixelType;
+  typedef otb::VectorImage<PixelType, 2>  ImageType;
+  typedef otb::ImageFileReader<ImageType> ReaderType;
+  typename ReaderType::Pointer reader = ReaderType::New();
+  reader->SetFileName(argv[1]);
+  reader->UpdateOutputInformation();
+  std::cout << reader->GetOutput()->GetNumberOfComponentsPerPixel() << std::endl;
+  itk::ImageIOBase::Pointer io = reader->GetImageIO();
+  std::cout << io << std::endl;
+  reader->Update();
+  typename ImageType::IndexType index;
+  index[0]=0;
+  index[1]=0;
+
+  typename ImageType::PixelType pixel = reader->GetOutput()->GetPixel(index);
+  std::cout << pixel << std::endl;
+
+  //Test value
+  if ((pixel[0] != PixelType(0,1))
+      || (pixel[1] != PixelType(20000, 20001)))
+    {
+    std::cout << "Found " << pixel[0] << " should be " << PixelType(0,1) << std::endl;
+    std::cout << "Found " << pixel[1] << " should be " << PixelType(20000,20001) << std::endl;
+    return EXIT_FAILURE;
+    }
+  return EXIT_SUCCESS;
+}
+
+int otbVectorImageComplexFloatTest(int argc, char* argv[])
+{
+  return otbVectorImageComplexGenericTest<float>(argc, argv);
+}
+
+int otbVectorImageComplexDoubleTest(int argc, char* argv[])
+{
+  return otbVectorImageComplexGenericTest<double>(argc, argv);
+}
+
+template<class InternalType>
+int otbImageComplexGenericTest(int argc, char* argv[])
+{
+  typedef std::complex<InternalType>      PixelType;
+  typedef otb::Image<PixelType, 2>        ImageType;
+  typedef otb::ImageFileReader<ImageType> ReaderType;
+  typename ReaderType::Pointer reader = ReaderType::New();
+  reader->SetFileName(argv[1]);
+  reader->UpdateOutputInformation();
+  std::cout << reader->GetOutput()->GetNumberOfComponentsPerPixel() << std::endl;
+  itk::ImageIOBase::Pointer io = reader->GetImageIO();
+  std::cout << io << std::endl;
+  reader->Update();
+  typename ImageType::IndexType index;
+  index[0]=0;
+  index[1]=0;
+
+  typename ImageType::PixelType pixel = reader->GetOutput()->GetPixel(index);
+  std::cout << pixel << std::endl;
+
+  //Test value
+  if (pixel != PixelType(0,1))
+    {
+    std::cout << "Found " << pixel << " should be " << PixelType(0,1) << std::endl;
+    return EXIT_FAILURE;
+    }
+
+  //Test other pixel
+  index[0]=10;
+  index[1]=10;
+
+  pixel = reader->GetOutput()->GetPixel(index);
+  std::cout << pixel << std::endl;
+
+  if (pixel != PixelType(4040,4041))
+    {
+    std::cout << "Found " << pixel << " should be " << PixelType(2020,2021) << std::endl;
+    return EXIT_FAILURE;
+    }
+
+
+  return EXIT_SUCCESS;
+}
+
+int otbImageComplexFloatTest(int argc, char* argv[])
+{
+  return otbImageComplexGenericTest<float>(argc, argv);
+}
+
+int otbImageComplexDoubleTest(int argc, char* argv[])
+{
+  return otbImageComplexGenericTest<double>(argc, argv);
+}
diff --git a/Testing/Code/IO/otbIOTests9.cxx b/Testing/Code/IO/otbIOTests9.cxx
index 23f030309c0b46abd866399c502781c9ff616113..78ce58e98c2a6f2d15e39df96723e25f58c0700a 100644
--- a/Testing/Code/IO/otbIOTests9.cxx
+++ b/Testing/Code/IO/otbIOTests9.cxx
@@ -31,6 +31,8 @@ void RegisterTests()
   REGISTER_TEST(otbVectorImageComplexNew);
   REGISTER_TEST(otbVectorImageComplexFloatTest);
   REGISTER_TEST(otbVectorImageComplexDoubleTest);
+  REGISTER_TEST(otbImageComplexFloatTest);
+  REGISTER_TEST(otbImageComplexDoubleTest);
   REGISTER_TEST(otbStreamingImageFilterTest);
   REGISTER_TEST(otbVectorImageFileReaderWriterTest);
   REGISTER_TEST(otbStreamingShortImageFileWriterTest);
diff --git a/Testing/Code/IO/otbVectorImageTest.cxx b/Testing/Code/IO/otbVectorImageTest.cxx
index 72962ebcbbf4c96597f4833b1c18a525883ef993..828e905c2b5715563b7425a66d2681755006d1e4 100644
--- a/Testing/Code/IO/otbVectorImageTest.cxx
+++ b/Testing/Code/IO/otbVectorImageTest.cxx
@@ -126,53 +126,3 @@ int otbVectorImageTest(int argc, char* argv[])
 
   return EXIT_SUCCESS;
 }
-
-int otbVectorImageComplexNew(int argc, char* argv[])
-{
-  typedef std::complex<float> PixelType;
-  typedef otb::VectorImage<PixelType, 2> ImageType;
-  ImageType::Pointer image = ImageType::New();
-  image->Initialize();
-
-  return EXIT_SUCCESS;
-}
-
-
-template<class InternalType>
-int otbVectorImageComplexGenericTest(int argc, char* argv[])
-{
-  typedef std::complex<InternalType> PixelType;
-  typedef otb::VectorImage<PixelType, 2> ImageType;
-  typedef otb::ImageFileReader<ImageType> ReaderType;
-  typename ReaderType::Pointer reader = ReaderType::New();
-  reader->SetFileName(argv[1]);
-  reader->UpdateOutputInformation();
-  std::cout << reader->GetOutput()->GetNumberOfComponentsPerPixel() << std::endl;
-  itk::ImageIOBase::Pointer io = reader->GetImageIO();
-  std::cout << io << std::endl;
-  reader->Update();
-  typename ImageType::IndexType index;
-  index[0]=0;
-  index[1]=0;
-
-  typename ImageType::PixelType pixel = reader->GetOutput()->GetPixel(index);
-  std::cout << pixel << std::endl;
-
-  //Test value
-  if ((pixel[0] != PixelType(0,1))
-      || (pixel[1] != PixelType(20000, 20001)))
-    {
-    return EXIT_FAILURE;
-    }
-  return EXIT_SUCCESS;
-}
-
-int otbVectorImageComplexFloatTest(int argc, char* argv[])
-{
-  return otbVectorImageComplexGenericTest<float>(argc, argv);
-}
-
-int otbVectorImageComplexDoubleTest(int argc, char* argv[])
-{
-  return otbVectorImageComplexGenericTest<double>(argc, argv);
-}