diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue
index 079d6af7a8a6dbb0d3b30f10ac975db1ba593234..d1b848c4f8faff1cd7ebef43304dd2496aeaa4de 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/AbsenceCreationDialog.vue
@@ -104,6 +104,13 @@ export default {
       this.popup = false;
       this.form = true;
     },
+    clearForm() {
+      this.persons = [];
+      this.startDate = "";
+      this.endDate = "";
+      this.comment = "";
+      this.absenceReason = "";
+    },
     confirm() {
       this.handleLoading(true);
       this.$apollo.mutate( {
@@ -117,13 +124,9 @@ export default {
         },
       })
         .then(() => {
-          this.persons = [];
-          this.startDate = "";
-          this.endDate = "";
-          this.comment = "";
-          this.absenceReason = "";
-          this.popup = false;
-          $toastSuccess("alsijil.coursebook.absences.success");
+          this.clearForm()
+          this.cancel();
+          this.$toastSuccess("alsijil.coursebook.absences.success");
         })
         .catch((error) => {
           this.popup = false;