diff --git a/Modules/Core/ComplexImage/otb-module.cmake b/Modules/Core/ComplexImage/otb-module.cmake
index e80b01956289abbc6985352d0443a940be8f02eb..6b31ea5c698119698c90a82ed83688f24c432a2c 100644
--- a/Modules/Core/ComplexImage/otb-module.cmake
+++ b/Modules/Core/ComplexImage/otb-module.cmake
@@ -27,6 +27,7 @@ otb_module(OTBComplexImage
 
   TEST_DEPENDS
     OTBITK
+    OTBFunctor
     OTBImageBase
     OTBImageIO
     OTBTestKernel
diff --git a/Modules/Core/ComplexImage/test/otbAmplitudePhaseToRGBFunctor.cxx b/Modules/Core/ComplexImage/test/otbAmplitudePhaseToRGBFunctor.cxx
index 4861e5ec1665fd46bd06b8929aae92090178e512..ddfe7bf1e79474f75d77152f3db895839b00d8f4 100644
--- a/Modules/Core/ComplexImage/test/otbAmplitudePhaseToRGBFunctor.cxx
+++ b/Modules/Core/ComplexImage/test/otbAmplitudePhaseToRGBFunctor.cxx
@@ -24,9 +24,8 @@
 #include "otbImage.h"
 #include "otbImageFileReader.h"
 #include "otbImageFileWriter.h"
-#include "itkUnaryFunctorImageFilter.h"
-#include "itkTernaryFunctorImageFilter.h"
 #include "otbAmplitudePhaseToRGBFunctor.h"
+#include "otbFunctorImageFilter.h"
 #include "itkComplexToModulusImageFilter.h"
 #include "itkComplexToPhaseImageFilter.h"
 #include "itkShiftScaleImageFilter.h"
@@ -65,11 +64,10 @@ int otbAmplitudePhaseToRGBFunctor(int itkNotUsed(argc), char * argv[])
 
   typedef otb::Functor::AmplitudePhaseToRGBFunctor
   <PixelType, PixelType, PixelType, RGBPixelType> ColorMapFunctorType;
-  typedef itk::TernaryFunctorImageFilter
-  <ImageType, ImageType, ImageType, RGBImageType, ColorMapFunctorType> ColorMapFilterType;
+  typedef otb::FunctorImageFilter<ColorMapFunctorType> ColorMapFilterType;
   ColorMapFilterType::Pointer colormapper = ColorMapFilterType::New();
-  colormapper->GetFunctor().SetMaximum(4000);
-  colormapper->GetFunctor().SetMinimum(0);
+  colormapper->GetModifiableFunctor().SetMaximum(4000);
+  colormapper->GetModifiableFunctor().SetMinimum(0);
 
   colormapper->SetInput1(modulusFilter->GetOutput());
   colormapper->SetInput2(constFilter->GetOutput());