diff --git a/resources/vue/components/courseware/CoursewareCollapsibleBox.vue b/resources/vue/components/courseware/CoursewareCollapsibleBox.vue
index e4a7497c87a63b8ba2998e15ce7620474c468506..c4f9233140cee087c64d2a2d4b3dd956406d9b28 100755
--- a/resources/vue/components/courseware/CoursewareCollapsibleBox.vue
+++ b/resources/vue/components/courseware/CoursewareCollapsibleBox.vue
@@ -35,7 +35,19 @@ export default {
             isOpen: this.open,
         };
     },
-    methods: {},
+    mounted(){
+        this.updateCollapsible();
+    },
+    updated() {
+        this.updateCollapsible();
+    },
+    methods: {
+        updateCollapsible() {
+            if (this.isOpen) {
+                STUDIP.eventBus.emit('courseware:update-collapsible', { 'uid': this._uid });
+            }
+        }
+    },
     watch: {
         open(state) {
             this.isOpen = state;
diff --git a/resources/vue/components/courseware/CoursewareEmbedBlock.vue b/resources/vue/components/courseware/CoursewareEmbedBlock.vue
index 2808ffa2478ecce82eb5b4b51671b6febcad8cd3..ec8a42599853b3b8c2e22305208ecc79faab08ee 100755
--- a/resources/vue/components/courseware/CoursewareEmbedBlock.vue
+++ b/resources/vue/components/courseware/CoursewareEmbedBlock.vue
@@ -154,9 +154,17 @@ export default {
     },
     mounted() {
         this.initCurrentData();
-
         window.addEventListener('resize', this.calcContentHeight);
     },
+
+    created () {
+        STUDIP.eventBus.on('courseware:update-tab', (data) => {
+            this.recalculateContentHeight(data);
+        });
+        STUDIP.eventBus.on('courseware:update-collapsible', (data) => {
+            this.recalculateContentHeight(data);
+        });
+    },
     destroyed() {
         window.removeEventListener('resize', this.calcContentHeight);
     },
@@ -172,8 +180,15 @@ export default {
             this.currentEndTime = this.endTime;
             this.oembedData = this.oembed;
             if (this.oembedData !== null) {
-                this.calcContentHeight();
                 this.updateTime();
+                this.calcContentHeight();
+            }
+        },
+        recalculateContentHeight(data){
+            if (this.$parent._uid === data.uid) {
+                if (this.oembedData !== null) {
+                    this.calcContentHeight();
+                }
             }
         },
         addTimeData(data) {
diff --git a/resources/vue/components/courseware/CoursewareTab.vue b/resources/vue/components/courseware/CoursewareTab.vue
index 5c5217283f811f4a9d1a5fe264f09e66b153353c..6be50af897eed7728f0a0417422efcb0196a8b5c 100755
--- a/resources/vue/components/courseware/CoursewareTab.vue
+++ b/resources/vue/components/courseware/CoursewareTab.vue
@@ -36,6 +36,12 @@ export default {
     mounted() {
         this.isActive = this.selected;
     },
+    updated () {
+        if (this.isActive) {
+            STUDIP.eventBus.emit('courseware:update-tab',{ 'uid': this._uid });
+        }
+
+    },
     watch: {
         selected(newValue) {
             this.isActive = newValue;