diff --git a/resources/vue/components/courseware/CoursewareManagerContainer.vue b/resources/vue/components/courseware/CoursewareManagerContainer.vue
index 9a8a6ddea042a1c81da88a3f968ed5487aa836c4..26ae1c5bda52035cd8027de3f45cb4aa7b0dd016 100755
--- a/resources/vue/components/courseware/CoursewareManagerContainer.vue
+++ b/resources/vue/components/courseware/CoursewareManagerContainer.vue
@@ -172,7 +172,7 @@ export default {
                 return [];
             }
 
-            const blockSections = JSON.parse(JSON.stringify(this.container.attributes.payload.sections)); //copy array AND objects without references
+            const blockSections = _.cloneDeep(this.container.attributes.payload.sections);
 
             blockSections.forEach((section) => {
                 if(section.blocks !== undefined) {
@@ -261,10 +261,8 @@ export default {
     },
     watch: {
         container: {
-            handler(state, prevState) {
-                if (state.attributes.payload.sections[0].blocks !== prevState.attributes.payload.sections[0].blocks) {
-                    this.initSections();
-                }
+            handler() {
+                this.initSections();
             },
             deep: true
         }