-                if (req.status == 413) // Request Entity Too Large
-                {
-                    // lower async_global_max_size and retry
-                    async_global_max_size = Math.max(1, parseInt (async_global_max_size * 0.8));
-                }
+                // lower async_global_max_size and retry
+                // This can occurs in several cases:
+                // - Request Entity Too Large (413) due to server bad configuration relative to PHP configuration
+                // - Server Error (500) which can happen when PHP's `max_execution_time` is too low comparared to sent size
+                async_global_max_size = Math.max(1, parseInt (async_global_max_size * 0.5));