diff --git a/resources/vue/components/courseware/unit/CoursewareUnitItemDialogLayout.vue b/resources/vue/components/courseware/unit/CoursewareUnitItemDialogLayout.vue
index 702a98676d9cd26621b50f51d276ced92ee294ed..f956e47ed0fde043ba0587bbf2212af54edc3b0b 100644
--- a/resources/vue/components/courseware/unit/CoursewareUnitItemDialogLayout.vue
+++ b/resources/vue/components/courseware/unit/CoursewareUnitItemDialogLayout.vue
@@ -207,15 +207,17 @@ export default {
                 this.uploadImageForStructuralElement({
                     structuralElement: this.currentElement,
                     file: this.currentFile,
+                }).then(() => {
+                    this.loadStructuralElement(this.currentElement.id)
                 }).catch((error) => {
                     console.error(error);
                     this.companionWarning({
                         info: this.$gettext('Beim Hochladen der Bilddatei ist ein Fehler aufgetretten.')
                     });
                 });
-                await this.loadStructuralElement(this.currentElement.id);
             } else if (this.deletingPreviewImage) {
                 await this.deleteImageForStructuralElement(this.currentElement);
+                this.currentElement.relationships.image = { data: null };
             }
 
             await this.updateStructuralElement({
diff --git a/resources/vue/courseware-shelf-app.js b/resources/vue/courseware-shelf-app.js
index e212fd0af32f67bc49a839bd2ab709fd70d8b2b7..a0e7f98c65f7cc68a70ed2d5977d332f651568ca 100644
--- a/resources/vue/courseware-shelf-app.js
+++ b/resources/vue/courseware-shelf-app.js
@@ -79,6 +79,7 @@ const mountApp = async (STUDIP, createApp, element) => {
                     'semesters',
                     'sem-classes',
                     'sem-types',
+                    'stock-images',
                     'terms-of-use'
                 ],
                 httpClient,