diff --git a/resources/vue/components/courseware/CoursewareDashboardStudents.vue b/resources/vue/components/courseware/CoursewareDashboardStudents.vue
index 66cbb876fb0aab4815efc1e343ddd50ec2efe415..5d07fb4b2449be8a05c22f0d73e7a0aab65683ad 100644
--- a/resources/vue/components/courseware/CoursewareDashboardStudents.vue
+++ b/resources/vue/components/courseware/CoursewareDashboardStudents.vue
@@ -226,7 +226,7 @@
                 </form>
             </template>
         </studip-dialog>
-        <courseware-tasks-dialog-distribute v-if="showTasksDistributeDialog"/>
+        <courseware-tasks-dialog-distribute v-if="showTasksDistributeDialog" @newtask="reloadTasks"/>
     </div>
 </template>
 
@@ -335,6 +335,7 @@ export default {
             copyStructuralElement: 'copyStructuralElement',
             companionSuccess: 'companionSuccess',
             companionError: 'companionError',
+            loadAllTasks: 'courseware-tasks/loadAll'
         }),
         addFeedback(task) {
             this.currentDialogFeedback.attributes = {};
@@ -405,6 +406,14 @@ export default {
             });
             this.currentDialogTask = {};
         },
+        reloadTasks() {
+            this.loadAllTasks({
+                options: {
+                    'filter[cid]': this.context.id,
+                    include: 'solver, structural-element, task-feedback, task-group, task-group.lecturer'
+                }
+            });
+        },
         getSortClass(col) {
             if (col === this.sortBy) {
                 return this.sortASC ? 'sortasc' : 'sortdesc';
diff --git a/resources/vue/components/courseware/CoursewareTasksDialogDistribute.vue b/resources/vue/components/courseware/CoursewareTasksDialogDistribute.vue
index b850558670bba2b6e5127030bba0447743df792c..4a8f64b94b916f5ec100778ad99b2624ae34b1bd 100644
--- a/resources/vue/components/courseware/CoursewareTasksDialogDistribute.vue
+++ b/resources/vue/components/courseware/CoursewareTasksDialogDistribute.vue
@@ -567,7 +567,6 @@ export default {
             this.loadStructuralElement({ id: id, options: { include: 'children' } });
         },
         async distributeTask() {
-            this.setShowTasksDistributeDialog(false);
             const taskGroup = {
                 attributes: {
                     title: this.taskTitle,
@@ -604,6 +603,8 @@ export default {
 
             await this.createTaskGroup({ taskGroup });
             this.companionSuccess({ info: this.$gettext('Aufgaben wurden verteilt.') });
+            this.$emit('newtask');
+            this.setShowTasksDistributeDialog(false);
         },
         validateSolvers() {
             if (