diff --git a/resources/vue/components/courseware/CoursewareUnitItemDialogLayout.vue b/resources/vue/components/courseware/CoursewareUnitItemDialogLayout.vue
index cfe9099500cf1e575e13eca7f38e2b397b50dcdc..2e2c18219bafd4cd22a9f44f11147572b573f0b3 100644
--- a/resources/vue/components/courseware/CoursewareUnitItemDialogLayout.vue
+++ b/resources/vue/components/courseware/CoursewareUnitItemDialogLayout.vue
@@ -172,15 +172,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 68a8ac97debe84cbbd8fefa5260a92033cf0e931..dd9aa9c30b582af80add97453861770a325d4d1e 100644
--- a/resources/vue/courseware-shelf-app.js
+++ b/resources/vue/courseware-shelf-app.js
@@ -73,6 +73,7 @@ const mountApp = async (STUDIP, createApp, element) => {
                     'semesters',
                     'sem-classes',
                     'sem-types',
+                    'stock-images',
                     'terms-of-use'
                 ],
                 httpClient,