diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake
index 922a48ccef5ca791a07b296ee2f1748d82e74f21..2a1007bcb3d51bd371cace60596c0276b8a6399c 100644
--- a/Modules/CMakeDetermineSystem.cmake
+++ b/Modules/CMakeDetermineSystem.cmake
@@ -31,6 +31,12 @@ IF(UNIX)
     EXEC_PROGRAM(uname ARGS -s OUTPUT_VARIABLE CMAKE_SYSTEM_NAME)
     EXEC_PROGRAM(uname ARGS -r OUTPUT_VARIABLE CMAKE_SYSTEM_VERSION)
     EXEC_PROGRAM(uname ARGS -p OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR)
+    IF(${CMAKE_SYSTEM_PROCESSOR} MATCHES "--help")
+      EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR)
+    ENDIF(${CMAKE_SYSTEM_PROCESSOR} MATCHES "--help")
+    IF(${CMAKE_SYSTEM_PROCESSOR} MATCHES "--help")
+      SET(CMAKE_SYSTEM_PROCESSOR "unknown")
+    ENDIF(${CMAKE_SYSTEM_PROCESSOR} MATCHES "--help")
     SET(CMAKE_UNAME ${CMAKE_UNAME} CACHE INTERNAL "uname command")
   ENDIF(CMAKE_UNAME)
 ELSE(UNIX)