diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js
index 5bf4f5c09819b601eae9f5e2178b266c28dc730a..95c0723f254d115556c9e0c0ccf193f75a28682d 100644
--- a/apps/files/js/file-upload.js
+++ b/apps/files/js/file-upload.js
@@ -334,8 +334,13 @@ $(document).ready(function() {
 				var result=$.parseJSON(response);
 
 				delete data.jqXHR;
-				
-				if (typeof result[0] === 'undefined') {
+
+				if (result.status === 'error' && result.data && result.data.message){
+					data.textStatus = 'servererror';
+					data.errorThrown = result.data.message;
+					var fu = $(this).data('blueimp-fileupload') || $(this).data('fileupload');
+					fu._trigger('fail', e, data);
+				} else if (typeof result[0] === 'undefined') {
 					data.textStatus = 'servererror';
 					data.errorThrown = t('files', 'Could not get result from server.');
 					var fu = $(this).data('blueimp-fileupload') || $(this).data('fileupload');