diff --git a/extension/qfq/qfq/AbstractBuildForm.php b/extension/qfq/qfq/AbstractBuildForm.php
index f02f0d5f0b352e913cb1b1b1d7683ae894ed297f..b022fa7b48339c94c49bfadcc2b501511cb5592e 100644
--- a/extension/qfq/qfq/AbstractBuildForm.php
+++ b/extension/qfq/qfq/AbstractBuildForm.php
@@ -2958,6 +2958,17 @@ abstract class AbstractBuildForm {
         $arr[FE_FILE_MAX_FILE_SIZE] = empty($formElement[FE_FILE_MAX_FILE_SIZE]) ? UPLOAD_DEFAULT_MAX_SIZE : $formElement[FE_FILE_MAX_FILE_SIZE];
         $arr[FE_FILE_MAX_FILE_SIZE] = Support::returnBytes($arr[FE_FILE_MAX_FILE_SIZE]);
 
+        // Check Safari Bug #5578: in case Safari (Mac OS X or iOS) loads an 'upload element' with more than one filetype, fall back to 'no preselection'.
+        if (strpos($formElement[FE_FILE_MIME_TYPE_ACCEPT], ',') !== false) {
+            $ua = $this->store->getVar('HTTP_USER_AGENT', STORE_CLIENT, SANITIZE_ALLOW_ALNUMX);
+            // Look for " Version/11.0 Mobile/15A5370a Safari/" or  " Version/9.0.2 Safari/"
+            $rc = preg_match(' Version\/.*Safari\/', $ua, $matches);
+            // But not like " Version/4.0 Chrome/52.0.2743.98 Safari/"
+            if ($rc == 1 && false === strpos($matches[0], ' Chrome/')) {
+                $formElement[FE_FILE_MIME_TYPE_ACCEPT] = '';
+            }
+        }
+
         if ((Support::returnBytes(ini_get('post_max_size')) < $arr[FE_FILE_MAX_FILE_SIZE]) ||
             (Support::returnBytes(ini_get('upload_max_filesize')) < $arr[FE_FILE_MAX_FILE_SIZE])
         ) {