diff --git a/CMakeLists.txt b/CMakeLists.txt
index 147b46694827c7899b9b1fd2fda1b0907e2e695e..56ebefc0406a952844fb2a2594754094baefa5e9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -145,6 +145,9 @@ endif()
 if(NOT OTB_INSTALL_PYTHON_DIR)
   set(OTB_INSTALL_PYTHON_DIR "lib/otb/python")
 endif()
+if(NOT OTB_INSTALL_PYTHON3_DIR)
+  set(OTB_INSTALL_PYTHON3_DIR "lib/otb/python3")
+endif()
 if(NOT OTB_INSTALL_JAVA_DIR)
   set(OTB_INSTALL_JAVA_DIR "lib/otb/java")
 endif()
diff --git a/Modules/Wrappers/SWIG/otb-module-init.cmake b/Modules/Wrappers/SWIG/otb-module-init.cmake
index 0823036d028037d4035357bc1b120346bb2a0320..8f02b520e99a34b04c006a819f128e3ff9f400b0 100644
--- a/Modules/Wrappers/SWIG/otb-module-init.cmake
+++ b/Modules/Wrappers/SWIG/otb-module-init.cmake
@@ -82,6 +82,9 @@ if ( OTB_WRAP_PYTHON3 )
   swap_cache_variable(NUMPY_INCLUDE_DIR NUMPY_PYTHON3_INCLUDE_DIR)
 
   swap_variable(PYTHON_LIBRARIES PYTHON3_LIBRARIES)
+  swap_variable(NUMPY_INCLUDE_DIRS NUMPY_PYTHON3_INCLUDE_DIRS)
+  swap_variable(NUMPY_FOUND NUMPY_PYTHON3_FOUND)
+  swap_variable(PYTHON_VERSION_STRING PYTHON3_VERSION_STRING)
 
   check_PIC_flag ( Python )
   find_package ( PythonInterp 3 REQUIRED )
@@ -97,6 +100,9 @@ if ( OTB_WRAP_PYTHON3 )
   swap_cache_variable(NUMPY_INCLUDE_DIR NUMPY_PYTHON3_INCLUDE_DIR)
 
   swap_variable(PYTHON_LIBRARIES PYTHON3_LIBRARIES)
+  swap_variable(NUMPY_INCLUDE_DIRS NUMPY_PYTHON3_INCLUDE_DIRS)
+  swap_variable(NUMPY_FOUND NUMPY_PYTHON3_FOUND)
+  swap_variable(PYTHON_VERSION_STRING PYTHON3_VERSION_STRING)
 endif()
 
 #