diff --git a/SuperBuild/CMake/External_itk.cmake b/SuperBuild/CMake/External_itk.cmake
index c33559d6e52ddab428bd976d45bf6fb05a2b2e2c..8f0c9e404ab39d46206ccc2d57e23b3f7f79c893 100644
--- a/SuperBuild/CMake/External_itk.cmake
+++ b/SuperBuild/CMake/External_itk.cmake
@@ -164,18 +164,11 @@ ExternalProject_Add(ITK
 
 SUPERBUILD_PATCH_SOURCE(ITK)
 
-ExternalProject_Add_Step(ITK POST_INSTALL_2
+set(DIR_LIST  "${SB_INSTALL_PREFIX}/lib/cmake/ITK-4.10|${SB_INSTALL_PREFIX}/lib/cmake/ITK-4.10/Modules")
+ExternalProject_Add_Step(ITK POST_INSTALL
   COMMAND ${CMAKE_COMMAND}
-  -DPATCH_DIR=${SB_INSTALL_PREFIX}/lib/cmake/ITK-4.10
-  -DMATCH=${SB_INSTALL_PREFIX}
-  -DPATH_STRIP_COUNT=3
-  -P ${CMAKE_SOURCE_DIR}/CMake/post_install.cmake
-  DEPENDEES install)
-
-ExternalProject_Add_Step(ITK POST_INSTALL_1
-  COMMAND ${CMAKE_COMMAND}
-  -DPATCH_DIR=${SB_INSTALL_PREFIX}/lib/cmake/ITK-4.10/Modules
-  -DMATCH=${SB_INSTALL_PREFIX}
-  -DPATH_STRIP_COUNT=4
+  -DP_DIRS=${DIR_LIST}
+  -DP_MATCH=${SB_INSTALL_PREFIX}
+  -DP_REPLACE=ITK_INSTALL_PREFIX
   -P ${CMAKE_SOURCE_DIR}/CMake/post_install.cmake
   DEPENDEES install)
diff --git a/SuperBuild/CMake/post_install.cmake b/SuperBuild/CMake/post_install.cmake
index d81b3004b5a4aac648a416648a2dd0db191e9e8e..e211e653fdbdc1cd8547569ff119dd4cc35d76b0 100644
--- a/SuperBuild/CMake/post_install.cmake
+++ b/SuperBuild/CMake/post_install.cmake
@@ -1,22 +1,15 @@
+string(REPLACE "|" ";" P_DIRS ${P_DIRS})
+
+foreach( p_dir ${P_DIRS} )
 set(file_list)
-file(GLOB file_list "${PATCH_DIR}/*.cmake")
-foreach(cmake_file ${file_list})
+file( GLOB file_list "${p_dir}/*.cmake" )
+foreach( cmake_file ${file_list} )
   file(STRINGS "${cmake_file}" MATCH_FOUND REGEX "${MATCH}")
   if(MATCH_FOUND)
     file(STRINGS "${cmake_file}" cmake_file_CONTENTS NEWLINE_CONSUME)
-    set(CODE_SNIPPET "get_filename_component(DEPS_INSTALL_DIR \"$${}{CMAKE_CURRENT_LIST_FILE}\" PATH)")
-    if (PATH_STRIP_COUNT LESS 1)
-      set(PATH_STRIP_COUNT 2)
-    endif()
-    foreach(loop_var RANGE 1 ${PATH_STRIP_COUNT})
-      set(CODE_SNIPPET "${CODE_SNIPPET} \nget_filename_component(DEPS_INSTALL_DIR \"$${}{DEPS_INSTALL_DIR}\" PATH)" )
-    endforeach()
-    string(REPLACE "${MATCH}" "$${}{DEPS_INSTALL_DIR}" cmake_file_CONTENTS_NEW ${cmake_file_CONTENTS})
+    string(REPLACE "${P_MATCH}" "$${}{${P_REPLACE}}" cmake_file_CONTENTS ${cmake_file_CONTENTS})
     file(WRITE "${cmake_file}"  "# This file is modified by OTB after installation.
-      \n# For example, see POST_INSTALL_* step in OTB/SuperBuild/CMake/External_itk.cmake
-      \n# BEGIN CODE BLOCK FROM OTB SUPERBUILD
-      \n${CODE_SNIPPET}
-      \n# END CODE BLOCK FROM OTB SUPERBUILD
-      \n${cmake_file_CONTENTS_NEW}")
+      \n${cmake_file_CONTENTS}")
   endif()
-endforeach() #foreach(cmake_file
+endforeach() # foreach( cmake_file
+endforeach() # foreach( p_dir