diff --git a/CMakeLists.txt b/CMakeLists.txt
index ddd4325fec0a0bacc7722bd73f79a2579dc50ba8..808b285fcc1eb325e25ccc33fa45aa23e6257db5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -137,6 +137,23 @@ ENDIF(WIN32)
 OPTION(OTB_USE_DEPRECATED "Turn on the use and test of deprecated classes" OFF)
 MARK_AS_ADVANCED(OTB_USE_DEPRECATED)
 
+
+#-----------------------------------------------------------------------------
+# Output directories.
+
+#       IF(NOT LIBRARY_OUTPUT_PATH)
+SET (LIBRARY_OUTPUT_PATH ${OTB_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all libraries.")
+#       ENDIF(NOT LIBRARY_OUTPUT_PATH)
+IF(NOT EXECUTABLE_OUTPUT_PATH)
+   SET (EXECUTABLE_OUTPUT_PATH ${OTB_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
+ENDIF(NOT EXECUTABLE_OUTPUT_PATH)
+
+MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)
+
+SET(OTB_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}")
+SET(OTB_EXECUTABLE_PATH "${EXECUTABLE_OUTPUT_PATH}")
+SET(CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
+
 #-----------------------------------------------------------------------------
 
 # Use the openjpeg library.
@@ -847,16 +864,8 @@ IF(BUILD_TESTING)
 ENDIF(BUILD_TESTING)
 
 
-#-----------------------------------------------------------------------------
-# Output directories.
 
-
-#       IF(NOT LIBRARY_OUTPUT_PATH)
-SET (LIBRARY_OUTPUT_PATH ${OTB_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all libraries.")
-#       ENDIF(NOT LIBRARY_OUTPUT_PATH)
-IF(NOT EXECUTABLE_OUTPUT_PATH)
-   SET (EXECUTABLE_OUTPUT_PATH ${OTB_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
-ENDIF(NOT EXECUTABLE_OUTPUT_PATH)
+INCLUDE_DIRECTORIES( ${OTB_LIBRARY_PATH} )
 
 IF(NOT OTB_NO_LIBRARY_VERSION)
    # This setting of SOVERSION assumes that any API change
@@ -867,16 +876,6 @@ IF(NOT OTB_NO_LIBRARY_VERSION)
 ENDIF(NOT OTB_NO_LIBRARY_VERSION)
 
 
-
-
-MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)
-
-SET(OTB_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}")
-SET(OTB_EXECUTABLE_PATH "${EXECUTABLE_OUTPUT_PATH}")
-SET(CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
-
-INCLUDE_DIRECTORIES( ${OTB_LIBRARY_PATH} )
-
 #-----------------------------------------------------------------------------
 # Option for display all developpment message !!!
 OPTION(OTB_SHOW_ALL_MSG_DEBUG "OTB developers : Show all messages (debug, dev, etc...) use only for otb developers." OFF)
diff --git a/Code/Projections/otbGCPsToRPCSensorModelImageFilter.h b/Code/Projections/otbGCPsToRPCSensorModelImageFilter.h
index 8f83a204f299db3a5a48c7255fc12e109d5c29f7..2750798be67d2ee15989e1154d2977bd307cc7c7 100644
--- a/Code/Projections/otbGCPsToRPCSensorModelImageFilter.h
+++ b/Code/Projections/otbGCPsToRPCSensorModelImageFilter.h
@@ -175,7 +175,7 @@ protected:
    * GenerateOutputInformation() method */
   virtual void GenerateOutputInformation();
 
-  virtual void ThreadedGenerateData(const typename TImage::RegionType&, int) {}
+  virtual void GenerateData();
 
 private:
   GCPsToRPCSensorModelImageFilter (const Self &);   // purposely not implemented
diff --git a/Code/Projections/otbGCPsToRPCSensorModelImageFilter.txx b/Code/Projections/otbGCPsToRPCSensorModelImageFilter.txx
index 07ef7c5da8ac4500d6eee89c00e1ec689a74b1de..c9d9a06d45b170400835aae48947dbe1de0a2a13 100644
--- a/Code/Projections/otbGCPsToRPCSensorModelImageFilter.txx
+++ b/Code/Projections/otbGCPsToRPCSensorModelImageFilter.txx
@@ -370,6 +370,14 @@ GCPsToRPCSensorModelImageFilter<TImage>
   itk::EncapsulateMetaData<ImageKeywordlist>(dict, MetaDataKey::OSSIMKeywordlistKey, otb_kwl);
 }
 
+template <class TImage>
+void
+GCPsToRPCSensorModelImageFilter<TImage>
+::GenerateData()
+{
+  Superclass::GenerateData();
+}
+
 template <class TImage>
 void
 GCPsToRPCSensorModelImageFilter<TImage>