diff --git a/SuperBuild/CMake/External_otb.cmake b/SuperBuild/CMake/External_otb.cmake
index 6890d46d7163864f57a6934ab2cf438e8074a903..38a097ddb6fee45a2abb290378ae0b0f8dda65a6 100644
--- a/SuperBuild/CMake/External_otb.cmake
+++ b/SuperBuild/CMake/External_otb.cmake
@@ -74,7 +74,7 @@ if(OTB_USE_MUPARSERX)
   ADD_SUPERBUILD_CMAKE_VAR(OTB MUPARSERX_LIBRARY)
 endif()
 
-if(OTB_WRAP_PYTHON OR OTB_WRAP_JAVA)
+if(OTB_WRAP_PYTHON OR OTB_WRAP_JAVA OR OTB_WRAP_PYTHON3)
   ADD_SUPERBUILD_CMAKE_VAR(OTB SWIG_EXECUTABLE)
   ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(OTB SWIG)
 endif()
@@ -85,6 +85,12 @@ if(OTB_WRAP_PYTHON)
   ADD_SUPERBUILD_CMAKE_VAR(OTB PYTHON_EXECUTABLE)
 endif()
 
+if(OTB_WRAP_PYTHON3)
+  ADD_SUPERBUILD_CMAKE_VAR(OTB PYTHON3_INCLUDE_DIR)
+  ADD_SUPERBUILD_CMAKE_VAR(OTB PYTHON3_LIBRARY)
+  ADD_SUPERBUILD_CMAKE_VAR(OTB PYTHON3_EXECUTABLE)
+endif()
+
 if(OTB_USE_QT4)
   ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(OTB QT4)
 endif()
@@ -186,6 +192,7 @@ ExternalProject_Add(OTB
   -DOTB_USE_QWT:BOOL=${OTB_USE_QWT}
   -DOTB_USE_OPENMP:BOOL=${OTB_USE_OPENMP}
   -DOTB_WRAP_PYTHON:BOOL=${OTB_WRAP_PYTHON}
+  -DOTB_WRAP_PYTHON3:BOOL=${OTB_WRAP_PYTHON3}
   -DOTB_WRAP_JAVA:BOOL=${OTB_WRAP_JAVA}
   ${OTB_ADDITIONAL_CACHE}
   CMAKE_ARGS ${OTB_SB_CONFIG}
diff --git a/SuperBuild/CMakeLists.txt b/SuperBuild/CMakeLists.txt
index affdfdb14115e716864c3ac60205785975b13fe6..c9d3106c6aa53f8c179f2b1594d255b793438aee 100644
--- a/SuperBuild/CMakeLists.txt
+++ b/SuperBuild/CMakeLists.txt
@@ -333,6 +333,7 @@ find_path(OTB_DATA_ROOT README-OTB-Data
 
 # SWIG Wrapping
 option(OTB_WRAP_PYTHON "Enable python wrappers for OTB applications (requires SWIG)" ON)
+option(OTB_WRAP_PYTHON3 "Enable python 3 wrappers for OTB applications (requires SWIG)" OFF)
 option(OTB_WRAP_JAVA "Enable java wrappers for OTB applications (requires SWIG)" OFF)
 
 configure_file(${CMAKE_SOURCE_DIR}/CMake/CTestCustom.cmake.in