diff --git a/tests/system/shared/project_explorer.py b/tests/system/shared/project_explorer.py
index 79e6ec31f61e3a45dacf272fd8b3bed44ae5d63f..6ab2c547387423116735cd2e5db9f61ab464094d 100644
--- a/tests/system/shared/project_explorer.py
+++ b/tests/system/shared/project_explorer.py
@@ -73,7 +73,7 @@ def prepareBuildSettings(targetCount, currentTarget, setReleaseBuild=True, disab
             wait = False
             try:
                 if qtCombo.currentText != defaultQtVersion:
-                    selectFromCombo(":scrollArea.qtVersionComboBox_QComboBox", defaultQtVersion.replace(".", "\\."))
+                    selectFromCombo(qtCombo, defaultQtVersion.replace(".", "\\."))
                 if setReleaseBuild:
                     chooseThis = "%s Release" % defaultQtVersion
                 else:
diff --git a/tests/system/shared/utils.py b/tests/system/shared/utils.py
index a3ca6f6bb40ed4454a476002f9df3e39b2ff951f..9ed8b5f19e46d647ca9ecf9bd1e0c0ac2c26d297 100644
--- a/tests/system/shared/utils.py
+++ b/tests/system/shared/utils.py
@@ -32,14 +32,28 @@ def ensureChecked(objectName, shouldBeChecked = True):
     test.verify(object.checked == shouldBeChecked)
     return object
 
-def verifyEnabled(objectName, expectedState = True):
-    waitFor("object.exists('" + objectName + "')", 20000)
-    object = findObject(objectName)
-    test.compare(object.enabled, expectedState)
-    return object
-
-def selectFromCombo(objectName, itemName):
-    object = verifyEnabled(objectName)
+# verify that an object is in an expected enable state. Returns the object.
+# param objectSpec  specifies the object to check. It can either be a string determining an object
+#                   or the object itself. If it is an object, it must exist already.
+# param expectedState is the expected enable state of the object
+def verifyEnabled(objectSpec, expectedState = True):
+    if isinstance(objectSpec, (str, unicode)):
+        waitFor("object.exists('" + objectSpec + "')", 20000)
+        foundObject = findObject(objectSpec)
+    else:
+        foundObject = objectSpec
+    if objectSpec == None:
+        test.warning("No valid object in function verifyEnabled.")
+    else:
+        test.compare(foundObject.enabled, expectedState)
+    return foundObject
+
+# select an item from a combo box
+# param objectSpec  specifies the combo box. It can either be a string determining an object
+#                   or the object itself. If it is an object, it must exist already.
+# param itemName is the item to be selected in the combo box
+def selectFromCombo(objectSpec, itemName):
+    object = verifyEnabled(objectSpec)
     mouseClick(object, 5, 5, 0, Qt.LeftButton)
     mouseClick(waitForObjectItem(object, itemName), 5, 5, 0, Qt.LeftButton)