diff --git a/SuperBuild/CMake/External_otb.cmake b/SuperBuild/CMake/External_otb.cmake
index 2ce7ffa703312ee674710e3cfa55ada0e321df89..986c075b43423ba807a77cb48ecd1d204ab00fcb 100644
--- a/SuperBuild/CMake/External_otb.cmake
+++ b/SuperBuild/CMake/External_otb.cmake
@@ -212,7 +212,7 @@ ExternalProject_Add(${proj}
 
   # detect OTB version number
   if (SUPERBUILD_OTB_VERSION)
-    set(_SB_${proj}_DIR ${SB_INSTALL_PREFIX}/lib/cmake/OTB-${SUPERBUILD_OTB_VERSION})
+    set(_SB_${proj}_DIR ${SB_INSTALL_PREFIX}/lib/cmake/OTB-${SUPERBUILD_OTB_VERSION_MAJOR}.${SUPERBUILD_OTB_VERSION_MINOR})
   else()
     set(_SB_${proj}_DIR ${SB_INSTALL_PREFIX})
   endif()
diff --git a/SuperBuild/CMakeLists.txt b/SuperBuild/CMakeLists.txt
index 73974c72390e7f5ff21e7e305969c6c55d019c4f..18cc7677d5bf60b19612be5aa0fd5d17c6fbe313 100644
--- a/SuperBuild/CMakeLists.txt
+++ b/SuperBuild/CMakeLists.txt
@@ -37,8 +37,12 @@ if(EXISTS "${CMAKE_SOURCE_DIR}/../CMakeLists.txt")
   if(NOT "${_CONTENT_CMAKELIST}" STREQUAL "")
     set(SUPERBUILD_IN_OTB_TREE ON)
     # parse the version number
-    # TODO
-    set(SUPERBUILD_OTB_VERSION "5.3.0")
+    file(STRINGS "${CMAKE_SOURCE_DIR}/../CMakeLists.txt" _FULL_CONTENT_CMAKELIST)
+    string(REGEX REPLACE ".*set\\(OTB_VERSION_MAJOR \"([0-9]+)\"\\).*" "\\1" SUPERBUILD_OTB_VERSION_MAJOR "${_FULL_CONTENT_CMAKELIST}")
+    string(REGEX REPLACE ".*set\\(OTB_VERSION_MINOR \"([0-9]+)\"\\).*" "\\1" SUPERBUILD_OTB_VERSION_MINOR "${_FULL_CONTENT_CMAKELIST}")
+    string(REGEX REPLACE ".*set\\(OTB_VERSION_PATCH \"([0-9]+)\"\\).*" "\\1" SUPERBUILD_OTB_VERSION_PATCH "${_FULL_CONTENT_CMAKELIST}")
+    set(SUPERBUILD_OTB_VERSION "${SUPERBUILD_OTB_VERSION_MAJOR}.${SUPERBUILD_OTB_VERSION_MINOR}.${SUPERBUILD_OTB_VERSION_PATCH}")
+    message(STATUS "Found OTB version : ${SUPERBUILD_OTB_VERSION}")
   endif()
 endif()
 message(STATUS "Check if superbuild is in OTB tree : ${SUPERBUILD_IN_OTB_TREE}")