diff --git a/js/filedrop.field.js b/js/filedrop.field.js
index 63b4b456ab1cd2cbe93bdf5454c909c79c295ed0..d25c0d461c8cbd56954c9484a3bdebda32f6ec57 100644
--- a/js/filedrop.field.js
+++ b/js/filedrop.field.js
@@ -330,7 +330,8 @@
       globalProgressUpdated: empty,
       speedUpdated: empty
       },
-      errors = ["BrowserNotSupported", "TooManyFiles", "FileTooLarge", "FileTypeNotAllowed", "NotFound", "NotReadable", "AbortError", "ReadError", "FileExtensionNotAllowed"];
+      errors = ["BrowserNotSupported", "TooManyFiles", "FileTooLarge", "FileTypeNotAllowed", "NotFound", "NotReadable", "AbortError", "ReadError", "FileExtensionNotAllowed"],
+      Blob = window.WebKitBlob || window.MozBlob || window.Blob;
 
   $.fn.filedrop = function(options) {
     var opts = $.extend({}, default_opts, options),
@@ -380,8 +381,7 @@
       var dashdash = '--',
           crlf = '\r\n',
           builder = [],
-          paramname = opts.paramname,
-          Blob = window.WebKitBlob || window.Blob;
+          paramname = opts.paramname;
 
       if (opts.data) {
         var params = $.param(opts.data).replace(/\+/g, '%20').split(/&/);
@@ -477,6 +477,10 @@
         opts.error(errors[0]);
         return false;
       }
+      if (typeof Blob === "undefined") {
+        opts.error(errors[0]);
+        return false;
+      }
 
       if (opts.allowedfiletypes.push && opts.allowedfiletypes.length) {
         for(var fileIndex = files.length;fileIndex--;) {