diff --git a/tests/system/shared/build_utils.py b/tests/system/shared/build_utils.py
index 0f9908205dc98370bf8cbb6385f5ffa1bc880050..58728bcb0b2b832e7569a82a04599197ff3248e2 100644
--- a/tests/system/shared/build_utils.py
+++ b/tests/system/shared/build_utils.py
@@ -91,10 +91,12 @@ def checkCompile():
     output = waitForObject("{type='Core::OutputWindow' unnamed='1' visible='1' windowTitle='Compile Output'"
                                  " window=':Qt Creator_Core::Internal::MainWindow'}", 20000)
     waitFor("len(str(output.plainText))>0",5000)
-    if str(output.plainText).lower().find("error")==-1:
+    success = str(output.plainText).lower().find("error")==-1
+    if success:
         test.log("Compile Output:\n%s" % output.plainText)
     else:
-        test.fatal("Compile Output:\n%s" % output.plainText)
+        test.fail("Compile Output:\n%s" % output.plainText)
+    return success
 
 # helper method that parses the Issues output and writes a tasks file
 def createTasksFile(list):
diff --git a/tests/system/suite_qtquick/tst_qtquick_creation/test.py b/tests/system/suite_qtquick/tst_qtquick_creation/test.py
index f3ec8439f7535467a18af3df000dbd4b6ebb6791..f92d57ee4b804ada90990d17b6d8a79683949e2b 100644
--- a/tests/system/suite_qtquick/tst_qtquick_creation/test.py
+++ b/tests/system/suite_qtquick/tst_qtquick_creation/test.py
@@ -13,11 +13,13 @@ def main():
     test.log("Building project")
     invokeMenuItem("Build","Build All")
     waitForSignal("{type='ProjectExplorer::BuildManager' unnamed='1'}", "buildQueueFinished(bool)", 300000)
-    checkCompile()
-    checkLastBuild()
-    test.log("Running project (includes build)")
-    if runAndCloseApp():
-        logApplicationOutput()
+    if not checkCompile():
+        test.fatal("Compile failed")
+    else:
+        checkLastBuild()
+        test.log("Running project (includes build)")
+        if runAndCloseApp():
+            logApplicationOutput()
     invokeMenuItem("File", "Exit")
 
 def createNewQtQuickApplication():
diff --git a/tests/system/suite_qtquick/tst_qtquick_creation2/test.py b/tests/system/suite_qtquick/tst_qtquick_creation2/test.py
index 9a4923abcbb9286a1d19da225f5338d5c9f276fd..1e70ab4299adc7c37828248b90b7ccd506bee924 100644
--- a/tests/system/suite_qtquick/tst_qtquick_creation2/test.py
+++ b/tests/system/suite_qtquick/tst_qtquick_creation2/test.py
@@ -18,11 +18,13 @@ def main():
     test.log("Building project")
     invokeMenuItem("Build","Build All")
     waitForSignal("{type='ProjectExplorer::BuildManager' unnamed='1'}", "buildQueueFinished(bool)", 300000)
-    checkCompile()
-    checkLastBuild()
-    test.log("Running project (includes build)")
-    if runAndCloseApp():
-        logApplicationOutput()
+    if not checkCompile():
+        test.fatal("Compile failed")
+    else:
+        checkLastBuild()
+        test.log("Running project (includes build)")
+        if runAndCloseApp():
+            logApplicationOutput()
     invokeMenuItem("File", "Exit")
 
 def prepareTemplate(sourceExample):