diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputImageParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputImageParameter.h
index 29785f07896150189cc3a30013cc0480de9e8d6f..29b9ac2866266b6439baf95154f147ea44241e67 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputImageParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputImageParameter.h
@@ -109,11 +109,6 @@ public:
 
   void ClearValue() override;
 
-  ImageBaseType::Pointer GetPointer()
-  {
-    return m_Image;
-  }
-
 protected:
   /** Constructor */
   InputImageParameter();
diff --git a/Modules/Wrappers/ApplicationEngine/src/otbWrapperApplication.cxx b/Modules/Wrappers/ApplicationEngine/src/otbWrapperApplication.cxx
index 92bf408c704b84b027ef5673a3d7eb2a56d9514f..f1b87de8583ad0e8cddd75bcb38a88e076802abf 100644
--- a/Modules/Wrappers/ApplicationEngine/src/otbWrapperApplication.cxx
+++ b/Modules/Wrappers/ApplicationEngine/src/otbWrapperApplication.cxx
@@ -416,7 +416,7 @@ Application::RegisterPipeline()
         dynamic_cast< InputImageParameter * >( param );
       if ( !inP->HasValue() )
         continue;
-      itk::ImageBase< 2 > * inData = inP->GetPointer();
+      ImageBaseType * inData = inP->GetImage< ImageBaseType >();
       if ( inData && !inputData.count(inData) )
         inputData.insert(inData);
       }
@@ -428,13 +428,11 @@ Application::RegisterPipeline()
       if ( !inP->HasValue() )
         continue;
       const FloatVectorImageListType * list = inP->GetImageList();
-      auto it = list->Begin();
-      while ( it != list->End() )
+      for ( auto it = list->Begin() ; it != list->End() ; ++it ) 
         {
         FloatVectorImageType * inData = it.Get().GetPointer();
         if ( inData && !inputData.count(inData) )
           inputData.insert(inData);
-        ++it;
         }
       }
     else if ( GetParameterType(key) == ParameterType_InputVectorData )
@@ -456,13 +454,11 @@ Application::RegisterPipeline()
       if ( !inP->HasValue() )
         continue;
       VectorDataListType * list = inP->GetVectorDataList();
-      auto it = list->Begin();
-      while ( it != list->End() )
+      for ( auto it = list->Begin() ; it != list->End() ; ++it )
         {
         VectorDataType * inData = it.Get().GetPointer();
         if ( inData && !inputData.count(inData) )
           inputData.insert(inData);
-        ++it;
         }
       }
     }
diff --git a/Modules/Wrappers/ApplicationEngine/test/CMakeLists.txt b/Modules/Wrappers/ApplicationEngine/test/CMakeLists.txt
index 856191df14551aabfe7ea8982d7a70a59aa6ea56..e92b69dc0324ee9debb1e80104b846a545fa3c4d 100644
--- a/Modules/Wrappers/ApplicationEngine/test/CMakeLists.txt
+++ b/Modules/Wrappers/ApplicationEngine/test/CMakeLists.txt
@@ -190,6 +190,7 @@ otb_add_test(NAME owTuDocExampleStructureNew COMMAND otbApplicationEngineTestDri
   otbWrapperDocExampleStructureNew
   )
 
+# Warning this test require otbapp_Smoothing and otbapp_ConcatenateImages to be built
 otb_add_test(NAME owTvApplicationMemoryConnectTest COMMAND otbApplicationEngineTestDriver otbApplicationMemoryConnectTest
   $<TARGET_FILE_DIR:otbapp_Smoothing>
   ${INPUTDATA}/poupees.tif