diff --git a/cmake/DD4hepBuild.cmake b/cmake/DD4hepBuild.cmake
index 342fc13d3d06c5d9739ec1c20513d06ddc2fdc80..22df262af2cc652fe33f62f5db9387c86deb4a17 100644
--- a/cmake/DD4hepBuild.cmake
+++ b/cmake/DD4hepBuild.cmake
@@ -651,8 +651,15 @@ macro(DD4HEP_SETUP_ROOT_TARGETS)
   #Check if Python version detected matches the version used to build ROOT
   SET(Python_FIND_FRAMEWORK LAST)
   IF((TARGET ROOT::PyROOT OR TARGET ROOT::ROOTTPython) AND ${ROOT_VERSION} VERSION_GREATER_EQUAL 6.19)
-    dd4hep_debug( "D++> Python version used for building ROOT ${ROOT_PYTHON_VERSION}" )
-    FIND_PACKAGE(Python ${ROOT_PYTHON_VERSION} EXACT REQUIRED COMPONENTS Development)
+    # cmake 3.17.1 doesn't include python patch level in PYTHON_VERSION
+    IF(CMAKE_VERSION VERSION_EQUAL 3.17.1)
+      string(REGEX MATCH [23]\.[0-9]+ REQUIRE_PYTHON_VERSION ${ROOT_PYTHON_VERSION})
+    ELSE()
+      SET(REQUIRE_PYTHON_VERSION ${ROOT_PYTHON_VERSION})
+    ENDIF()
+    dd4hep_debug("D++> Python version used for building ROOT ${ROOT_PYTHON_VERSION}" )
+    dd4hep_debug("D++> Required python version ${REQUIRE_PYTHON_VERSION}")
+    FIND_PACKAGE(Python ${REQUIRE_PYTHON_VERSION} EXACT REQUIRED COMPONENTS Development)
   ELSE()
     FIND_PACKAGE(Python COMPONENTS Development)
   ENDIF()