diff --git a/SuperBuild/CMake/SystemCheckup.cmake b/SuperBuild/CMake/SystemCheckup.cmake
index e5fe2f8ac67c7ce9eed9e2f7e468fed93ca74efb..7b7acb24bdb5473f484c50fd50d8ae70889e0d98 100644
--- a/SuperBuild/CMake/SystemCheckup.cmake
+++ b/SuperBuild/CMake/SystemCheckup.cmake
@@ -28,7 +28,7 @@ macro(SB_CHECKUP_FIND_PACKAGE var)
     set(_SB_CHECKUP_${_uppervar}_FOUND TRUE)
     set(_SB_CHECKUP_${_uppervar}_NAME ${var})
   endif()
-  
+
   if(_SB_CHECKUP_${_uppervar}_FOUND)
     set(_var_name ${_SB_CHECKUP_${_uppervar}_NAME})
     message(STATUS "|----------------------------------------------------------")
@@ -42,11 +42,18 @@ macro(SB_CHECKUP_FIND_PACKAGE var)
     elseif(DEFINED ${_var_name}_MAJOR_VERSION AND DEFINED ${_var_name}_MINOR_VERSION AND DEFINED ${_var_name}_BUILD_VERSION)
       set(_SB_CHECKUP_${_uppervar}_VERSION "${${_var_name}_MAJOR_VERSION}.${${_var_name}_MINOR_VERSION}.${${_var_name}_BUILD_VERSION}")
     endif()
-    
-    # fix incomplete version numbers
+
+    # fix incomplete version numbers -> add trailing '.0'
     if(_SB_CHECKUP_${_uppervar}_VERSION MATCHES "^[0-9]+\\.[0-9]+\$")
       set(_SB_CHECKUP_${_uppervar}_VERSION "${_SB_CHECKUP_${_uppervar}_VERSION}.0")
     endif()
+    # fix version numbers with 4 components -> keep first 3 components
+    if(_SB_CHECKUP_${_uppervar}_VERSION MATCHES "^[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\$")
+      set(_tmp_ver_num_  ${_SB_CHECKUP_${_uppervar}_VERSION})
+      string(REGEX REPLACE "^([0-9]+\\.[0-9]+\\.[0-9]+)\\.[0-9]+\$" "\\1"
+          _SB_CHECKUP_${_uppervar}_VERSION
+          ${_tmp_ver_num_})
+    endif()
     # display version number
     if(_SB_CHECKUP_${_uppervar}_VERSION MATCHES "^[0-9]+\\.[0-9]+\\.[0-9]+\$")
       message(STATUS "|  version = ${_SB_CHECKUP_${_uppervar}_VERSION}")