diff --git a/app/controllers/course/files.php b/app/controllers/course/files.php
index 2cb69a881d1997f31cd5bc6d977a33ee2fa19021..91d191840666f265bfe6b65c0c79838eef3e2aac 100644
--- a/app/controllers/course/files.php
+++ b/app/controllers/course/files.php
@@ -59,16 +59,6 @@ class Course_FilesController extends AuthenticatedController
             );
         }
 
-        $actions->addLink(
-            _('Bildergalerie öffnen'),
-            '#g',
-            Icon::create('file-pic', 'clickable'),
-            [
-                'onClick' => "STUDIP.Files.openGallery(); return false;",
-                'v-if' => "hasFilesOfType('image')"
-            ]
-        );
-
         if ($this->topFolder && $this->topFolder->isSubfolderAllowed($GLOBALS['user']->id)) {
             $actions->addLink(
                 _('Neuer Ordner'),
@@ -93,9 +83,18 @@ class Course_FilesController extends AuthenticatedController
             )->asDialog();
 
         }
-        $sidebar->addWidget($actions);
 
+        $actions->addLink(
+            _('Bildergalerie öffnen'),
+            '#g',
+            Icon::create('file-pic'),
+            [
+                'onClick' => "STUDIP.Files.openGallery(); return false;",
+                'style'   => 'display: none',
+            ]
+        );
 
+        $sidebar->addWidget($actions);
 
         if ($this->topFolder->isWritable($GLOBALS['user']->id)) {
             $uploadArea = new LinksWidget();
@@ -172,10 +171,10 @@ class Course_FilesController extends AuthenticatedController
         $actions->addLink(
             _('Bildergalerie öffnen'),
             '#g',
-            Icon::create('file-pic', 'clickable'),
+            Icon::create('file-pic'),
             [
                 'onClick' => "STUDIP.Files.openGallery(); return false;",
-                'v-if' => "hasFilesOfType('image')"
+                'style'   => 'display: none',
             ]
         );
         if ($GLOBALS['user']->id !== 'nobody') {
diff --git a/app/controllers/files.php b/app/controllers/files.php
index 555e788f738412d5a0416bd1bccbd0f65e80a06b..46a67e611b23b2794f6564a9ecbd0be414a12bda 100644
--- a/app/controllers/files.php
+++ b/app/controllers/files.php
@@ -100,15 +100,6 @@ class FilesController extends AuthenticatedController
             );
         }
 
-        $actions->addLink(
-            _('Bildergalerie öffnen'),
-            '#g',
-            Icon::create('file-pic', 'clickable'),
-            [
-                'onClick' => "STUDIP.Files.openGallery(); return false;"
-            ]
-        );
-
         if ($folder->isWritable($GLOBALS['user']->id)) {
             $actions->addLink(
                 _('Dokument hinzufügen'),
@@ -146,6 +137,17 @@ class FilesController extends AuthenticatedController
                 )->asDialog();
             }
         }
+
+        $actions->addLink(
+            _('Bildergalerie öffnen'),
+            '#g',
+            Icon::create('file-pic'),
+            [
+                'onClick' => "STUDIP.Files.openGallery(); return false;",
+                'style'   => 'display: none',
+            ]
+        );
+
         $sidebar->addWidget($actions);
 
         if ($folder->isWritable($GLOBALS['user']->id)) {
@@ -612,10 +614,10 @@ class FilesController extends AuthenticatedController
         $actions->addLink(
             _('Bildergalerie öffnen'),
             '#g',
-            Icon::create('file-pic', 'clickable'),
+            Icon::create('file-pic'),
             [
                 'onClick' => "STUDIP.Files.openGallery(); return false;",
-                'v-if' => "hasFilesOfType('image')"
+                'style'   => 'display: none',
             ]
         );
         $sidebar->addWidget($actions);
diff --git a/resources/assets/javascripts/bootstrap/files.js b/resources/assets/javascripts/bootstrap/files.js
index 72a2a6e63e08e504e7ab2a22665a6cb761869836..6caef6d1d76ce57b9e53d33a0bef8fce200c2d9e 100644
--- a/resources/assets/javascripts/bootstrap/files.js
+++ b/resources/assets/javascripts/bootstrap/files.js
@@ -17,6 +17,10 @@ function searchMoreFiles (button) {
     return false;
 }
 
+STUDIP.eventBus.on('files-vue-app-updated', ({hasImages}) => {
+    $('#sidebar-actions a[onclick*="Files.openGallery"]').toggle(hasImages);
+});
+
 STUDIP.domReady(() => {
 
     STUDIP.Files.init();
@@ -49,11 +53,6 @@ STUDIP.domReady(() => {
     });
 });
 
-$(document).on('files-vue-app-loaded', () => {
-    const lightboxImages = $('.lightbox-image');
-    $('#sidebar-actions a[onclick*="Files.openGallery"]').attr('disabled', lightboxImages.length === 0);
-});
-
 jQuery(document).on('ajaxComplete', (event, xhr) => {
     if (!xhr.getResponseHeader('X-Filesystem-Changes')) {
         return;
diff --git a/resources/assets/javascripts/lib/files.js b/resources/assets/javascripts/lib/files.js
index d02486d4253f743544a310e00c415e58354a010e..f806787d1585ab9fa1e55a7b62598e2def5a951d 100644
--- a/resources/assets/javascripts/lib/files.js
+++ b/resources/assets/javascripts/lib/files.js
@@ -29,11 +29,19 @@ const Files = {
                         },
                         removeFile(id) {
                             this.files = this.files.filter(file => file.id != id)
+                        },
+                        onUpdated() {
+                            STUDIP.eventBus.emit('files-vue-app-updated', {
+                                hasImages: this.hasFilesOfType('image'),
+                            });
                         }
                     },
                     components: { FilesTable, },
-                    mounted () {
-                        $(document).trigger('files-vue-app-loaded');
+                    updated () {
+                        this.onUpdated();
+                    },
+                    created () {
+                        this.onUpdated();
                     }
                 });
             });