diff --git a/include/client/header.inc.php b/include/client/header.inc.php
index d15783238a543bc9a386af165e4269bfb85837f3..97085a7cbb462b71ca86ebe74d042836ca2e09f2 100644
--- a/include/client/header.inc.php
+++ b/include/client/header.inc.php
@@ -35,8 +35,8 @@ if (($lang = Internationalization::getCurrentLanguage())
     <link type="text/css" rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/rtl.css"/>
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-1.8.3.min.js"></script>
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-ui-1.10.3.custom.min.js"></script>
-    <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/filedrop.field.js"></script>
     <script src="<?php echo ROOT_PATH; ?>js/osticket.js"></script>
+    <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/filedrop.field.js"></script>
     <script src="<?php echo ROOT_PATH; ?>scp/js/bootstrap-typeahead.js"></script>
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/redactor.min.js"></script>
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/redactor-osticket.js"></script>
diff --git a/include/staff/header.inc.php b/include/staff/header.inc.php
index cf832ae2a12dfdf54863ce62367827550fd513f5..238f6585386e6fe8ab4e83b7310ca08bca87971f 100644
--- a/include/staff/header.inc.php
+++ b/include/staff/header.inc.php
@@ -20,6 +20,7 @@ if (($lang = Internationalization::getCurrentLanguage())
     <![endif]-->
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-1.8.3.min.js"></script>
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-ui-1.10.3.custom.min.js"></script>
+    <script type="text/javascript" src="./js/scp.js"></script>
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery.pjax.js"></script>
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/filedrop.field.js"></script>
     <script type="text/javascript" src="./js/tips.js"></script>
@@ -27,7 +28,6 @@ if (($lang = Internationalization::getCurrentLanguage())
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/redactor-osticket.js"></script>
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/redactor-fonts.js"></script>
     <script type="text/javascript" src="./js/bootstrap-typeahead.js"></script>
-    <script type="text/javascript" src="./js/scp.js"></script>
     <link rel="stylesheet" href="<?php echo ROOT_PATH ?>css/thread.css" media="all">
     <link rel="stylesheet" href="./css/scp.css" media="all">
     <link rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/redactor.css" media="screen">
diff --git a/js/filedrop.field.js b/js/filedrop.field.js
index 5edf17c995a810915a68e42d3e85134eba066080..d63316235ae721d1eba3211e4998596366eb6671 100644
--- a/js/filedrop.field.js
+++ b/js/filedrop.field.js
@@ -178,6 +178,13 @@
         node.data('xhr').abort();
         return this.deleteNode(node, false);
       }
+    },
+    handleError: function(err, i, file, status) {
+      var message = $.fn.filedropbox.messages[err];
+      if (file instanceof File) {
+        message = '<b>' + file.name + '</b><br/>' + message;
+      }
+      $.sysAlert(__('File Upload Error'), message);
     }
   };
 
@@ -197,6 +204,17 @@
     shim: !window.FileReader
   };
 
+  $.fn.filedropbox.messages = {
+    'BrowserNotSupported': __('Your browser is not supported'),
+    'TooManyFiles': __('You are trying to upload too many files'),
+    'FileTooLarge': __('File is too large'),
+    'FileTypeNotAllowed': __('This type of file is not allowed'),
+    'FileExtensionNotAllowed': __('This type of file is not allowed'),
+    'NotFound': __('Could not find or read this file'),
+    'NotReadable': __('Could not find or read this file'),
+    'AbortError': __('Could not find or read this file')
+  };
+
   $.fn.filedropbox.Constructor = FileDropbox;
 
 }(jQuery);
@@ -416,7 +434,7 @@
       if (opts.allowedfiletypes.push && opts.allowedfiletypes.length) {
         for(var fileIndex = files.length;fileIndex--;) {
           if(!files[fileIndex].type || $.inArray(files[fileIndex].type, opts.allowedfiletypes) < 0) {
-            opts.error(errors[3], files[fileIndex]);
+            opts.error(errors[3], files[fileIndex], fileIndex);
             return false;
           }
         }
@@ -433,7 +451,7 @@
             }
           }
           if (!allowedextension){
-            opts.error(errors[8], files[fileIndex]);
+            opts.error(errors[8], files[fileIndex], fileIndex);
             return false;
           }
         }
@@ -509,16 +527,16 @@
             reader.onerror = function(e) {
                 switch(e.target.error.code) {
                     case e.target.error.NOT_FOUND_ERR:
-                        opts.error(errors[4]);
+                        opts.error(errors[4], files[fileIndex], fileIndex);
                         return false;
                     case e.target.error.NOT_READABLE_ERR:
-                        opts.error(errors[5]);
+                        opts.error(errors[5], files[fileIndex], fileIndex);
                         return false;
                     case e.target.error.ABORT_ERR:
-                        opts.error(errors[6]);
+                        opts.error(errors[6], files[fileIndex], fileIndex);
                         return false;
                     default:
-                        opts.error(errors[7]);
+                        opts.error(errors[7], files[fileIndex], fileIndex);
                         return false;
                 };
             };
@@ -541,7 +559,7 @@
               processingQueue.splice(key, 1);
             }
           });
-          opts.error(errors[0]);
+          opts.error(errors[0], files[fileIndex], fileIndex, err);
           return false;
         }