diff --git a/tests/system/shared/utils.py b/tests/system/shared/utils.py
index db4c4e1cd56565350f69226f4b4f398daff47f63..b331ddb66719398fb2d811b17f57658ada8c9e93 100644
--- a/tests/system/shared/utils.py
+++ b/tests/system/shared/utils.py
@@ -243,7 +243,7 @@ def getOutputFromCmdline(cmdline, environment=None, acceptedError=0):
             test.warning("Command '%s' returned %d" % (e.cmd, e.returncode))
         return e.output
 
-def selectFromFileDialog(fileName, waitForFile=False):
+def selectFromFileDialog(fileName, waitForFile=False, ignoreFinalSnooze=False):
     if platform.system() == "Darwin":
         snooze(1)
         nativeType("<Command+Shift+g>")
@@ -253,7 +253,8 @@ def selectFromFileDialog(fileName, waitForFile=False):
         nativeType("<Return>")
         snooze(3)
         nativeType("<Return>")
-        snooze(1)
+        if not ignoreFinalSnooze:
+            snooze(1)
     else:
         fName = os.path.basename(os.path.abspath(fileName))
         pName = os.path.dirname(os.path.abspath(fileName)) + os.sep
@@ -271,9 +272,12 @@ def selectFromFileDialog(fileName, waitForFile=False):
             nativeType("<Ctrl+a>")
             nativeType("<Delete>")
             nativeType(pName + fName)
-            snooze(1)
+            seconds = len(pName + fName) / 20
+            test.log("Using snooze(%d) [problems with event processing of nativeType()]" % seconds)
+            snooze(seconds)
             nativeType("<Return>")
-            snooze(3)
+            if not ignoreFinalSnooze:
+                snooze(3)
     if waitForFile:
         fileCombo = waitForObject(":Qt Creator_FilenameQComboBox")
         if not waitFor("str(fileCombo.currentText) in fileName", 5000):
diff --git a/tests/system/suite_general/tst_tasks_handling/test.py b/tests/system/suite_general/tst_tasks_handling/test.py
index 69e7a6719cb48e3f69c5ec7799e1050a42460411..6870cceeadc78572c0e95fc62bb42ebb3022f35f 100644
--- a/tests/system/suite_general/tst_tasks_handling/test.py
+++ b/tests/system/suite_general/tst_tasks_handling/test.py
@@ -99,7 +99,7 @@ def main():
     model = waitForObject(":Qt Creator.Issues_QListView").model()
     test.verify(model.rowCount() == 0, 'Got an empty issue list to start from.')
     invokeMenuItem("File", "Open File or Project...")
-    selectFromFileDialog(tasksFile)
+    selectFromFileDialog(tasksFile, False, True)
     starttime = datetime.utcnow()
     waitFor("model.rowCount() == expectedNo", 10000)
     endtime = datetime.utcnow()