diff --git a/tests/system/shared/hook_utils.py b/tests/system/shared/hook_utils.py
index c357b037ef61ab4d6212ca96b92e257b9fe631e2..ea89d230cf516c7e7ca7894a017497ab41c425cd 100644
--- a/tests/system/shared/hook_utils.py
+++ b/tests/system/shared/hook_utils.py
@@ -59,9 +59,7 @@ def modifyRunSettingsForHookIntoQtQuickUI(projectName, port):
     currentQtVersion = qtVersionCombo.currentText
     qmake = getQMakeFromQtVersion(currentQtVersion)
     if qmake != None:
-        mkspec = getOutputFromCmdline("%s -query QMAKE_MKSPECS" % qmake).strip()
-        mkspec = mkspec + os.sep + "default" + os.sep + "qmake.conf"
-        mkspec = __getMkspecFromQMakeConf__(mkspec)
+        mkspec = __getMkspecFromQmake__(qmake)
         if mkspec != None:
             qtVer = getOutputFromCmdline("%s -query QT_VERSION" % qmake).strip()
             squishPath = getSquishPath(mkspec, qtVer)
@@ -147,6 +145,11 @@ def __getMkspecFromQMakeConf__(qmakeConf):
         return None
     return os.path.basename(mkspec)
 
+def __getMkspecFromQmake__(qmakeCall):
+    QmakeConfPath = getOutputFromCmdline("%s -query QMAKE_MKSPECS" % qmakeCall).strip()
+    QmakeConfPath = QmakeConfPath + os.sep + "default" + os.sep + "qmake.conf"
+    return __getMkspecFromQMakeConf__(QmakeConfPath).strip()
+
 def getQMakeFromQtVersion(qtVersion):
     invokeMenuItem("Tools", "Options...")
     buildAndRun = waitForObject("{type='QModelIndex' text='Build & Run' "
diff --git a/tests/system/shared/project.py b/tests/system/shared/project.py
index 074bbc02d0423f4def40436cccdd45f0906dd1c2..7508c5ed4aef72b8713260f3dc2eb9e64c5fe681 100644
--- a/tests/system/shared/project.py
+++ b/tests/system/shared/project.py
@@ -23,11 +23,21 @@ def openCmakeProject(projectPath, buildDir):
                          "window=':CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard'}", buildDir)
     clickButton(waitForObject(":CMake Wizard.Next_QPushButton", 20000))
     generatorCombo = waitForObject(":Generator:_QComboBox")
-    index = generatorCombo.findText("MinGW Generator (MinGW from SDK)")
-    if index == -1:
-        index = generatorCombo.findText("NMake Generator (Microsoft Visual C++ Compiler 9.0 (x86))")
-    if index != -1:
-        generatorCombo.setCurrentIndex(index)
+    mkspec = __getMkspecFromQmake__("qmake")
+    test.log("Using mkspec '%s'" % mkspec)
+
+    if "win32-" in mkspec:
+        generatorName = {"win32-g++" : "MinGW Generator (MinGW from SDK)",
+                         "win32-msvc2008" : "NMake Generator (Microsoft Visual C++ Compiler 9.0 (x86))",
+                         "win32-msvc2010" : "NMake Generator (Microsoft Visual C++ Compiler 10.0 (x86))"}
+        index = -1
+        if mkspec in generatorName:
+            index = generatorCombo.findText(generatorName[mkspec])
+        if index == -1:
+            test.warning("No matching CMake generator for mkspec '%s' found." % mkspec)
+        else:
+            generatorCombo.setCurrentIndex(index)
+
     clickButton(waitForObject(":CMake Wizard.Run CMake_QPushButton", 20000))
     try:
         clickButton(waitForObject(":CMake Wizard.Finish_QPushButton", 60000))