--- a/Modules/FindPython/Support.cmake
+++ b/Modules/FindPython/Support.cmake
@@ -970,8 +970,8 @@
         ERROR_QUIET
         OUTPUT_STRIP_TRAILING_WHITESPACE)
       string(TOUPPER "${platform}" platform)
-      if (result OR ((target_arm AND NOT platform MATCHES "ARM") OR
-                     (NOT target_arm AND platform MATCHES "ARM")))
+      if (result OR ((target_arm AND NOT (platform MATCHES "ARM" OR platform MATCHES "AARCH64")) OR
+                     (NOT target_arm AND (platform MATCHES "ARM" OR platform MATCHES "AARCH64"))))
         # interpreter not usable or has wrong architecture
         if (result)
           set_property (CACHE _${_PYTHON_PREFIX}_Interpreter_REASON_FAILURE PROPERTY VALUE "Cannot use the interpreter \"${_${_PYTHON_PREFIX}_EXECUTABLE}\"")
