diff --git a/Resources/js/widget/file_upload.js b/Resources/js/widget/file_upload.js
index 8b02e92e7ad2d9c3bc9c5806050b731f3d2336a1..6a6bbf90609e99db0f6690965258b363db62f616 100644
--- a/Resources/js/widget/file_upload.js
+++ b/Resources/js/widget/file_upload.js
@@ -9,6 +9,8 @@
     $.fn.irsteaFileUpload = function(options) {
 
         var $this             = $(this),
+            $button           = $this.find('.fileinput-button'),
+            $entries          = $this.find('.fileinput-entries'),
             prototype         = options.prototype,
             createUrl         = options.createUrl,
             uploadPrototype   = options.uploadPrototype,
@@ -33,11 +35,19 @@
             },
             formatBitrate = function(rate) {
                 return formatSize(rate) + '/s';
+            },
+            updateButtonVisibility = function() {
+                console.debug($entries.children());
+                if($entries.children().length > 0 && !options.multiple) {
+                    $button.hide();
+                } else {
+                    $button.show();
+                }
             };
 
         $this.find('.template-download .size').each(function() { $(this).html(formatSize($(this).text())); });
 
-        var formatBitrate = function(rate) { return formatSize(rate) + '/s'; };
+        updateButtonVisibility();
 
         // Activation
         $this.fileupload({
@@ -112,6 +122,9 @@
             fileuploadfailed: function (e, data) {
                 $.ajax(data.url, { type: 'DELETE' });
             },
+            fileuploadadded: updateButtonVisibility,
+            fileuploadfinished: updateButtonVisibility,
+            fileuploaddestroyed: updateButtonVisibility,
         });
 
     };