diff --git a/resources/vue/components/courseware/CoursewareTreeItem.vue b/resources/vue/components/courseware/CoursewareTreeItem.vue
index 05047eec46863bf30660da668a8eb08b05f52012..b372b17cc4a8582840a316ac195410a45420c503 100755
--- a/resources/vue/components/courseware/CoursewareTreeItem.vue
+++ b/resources/vue/components/courseware/CoursewareTreeItem.vue
@@ -1,5 +1,5 @@
 <template>
-    <li>
+    <li v-if="showItem">
         <div
             :class="[
                 isRoot ? 'cw-tree-item-is-root' : '',
@@ -168,6 +168,16 @@ export default {
 
             return '';
         },
+        isTask() {
+            return this.element.attributes.purpose === 'task';
+        },
+        showItem() {
+            if (this.isTask) {
+                return this.task !== undefined;
+            }
+
+            return true;
+        }
     },
     methods: {
         ...mapActions({
diff --git a/resources/vue/store/courseware/courseware.module.js b/resources/vue/store/courseware/courseware.module.js
index 88e5e2a65ca35167558c37c50b708b1e198d7309..c3078f9b811337b0ba429dff18cac2b383544868 100755
--- a/resources/vue/store/courseware/courseware.module.js
+++ b/resources/vue/store/courseware/courseware.module.js
@@ -1076,7 +1076,7 @@ export const actions = {
                 },
             },
             { root: true }
-        );
+        ).catch(error => console.debug(error));
     },
 
     async updateTask({ dispatch }, { attributes, taskId }) {