diff --git a/web/components/vote/votes.js b/web/components/vote/votes.js
index ed5c48d33a4f20a25ec54bbe9b1e5151cfa2c07b..90cfca98ae91feb5b297a0367d4299ee98959587 100644
--- a/web/components/vote/votes.js
+++ b/web/components/vote/votes.js
@@ -223,8 +223,8 @@ class Vote {
     if (votes.length == 0) method = "POST";
     else method = "PUT";
 
-    candidateLists.forEach((candidateList) => {
-      voteHandler.VoteModel.saveVote(
+    candidateLists.forEach(async (candidateList) => {
+      await voteHandler.VoteModel.saveVote(
         method,
         voteHandler.DeskRoundID,
         candidateList.ID,
@@ -236,7 +236,7 @@ class Vote {
       );
     });
 
-    this.VoteModel.saveVote(
+    await this.VoteModel.saveVote(
       method,
       this.DeskRoundID,
       null,
@@ -244,7 +244,7 @@ class Vote {
       true,
       false
     );
-    this.VoteModel.saveVote(
+    await this.VoteModel.saveVote(
       method,
       this.DeskRoundID,
       null,
@@ -252,5 +252,7 @@ class Vote {
       false,
       true
     );
+    await this.VoteModel.refreshVotes();
+    await this.loadVotes();
   }
 }
diff --git a/web/services/model/vote-model.js b/web/services/model/vote-model.js
index cffb3617aa52c85f884a0e27b822aa15aeec04af..ac75693e5f23281c54eda48557a2edb34b6ab57e 100644
--- a/web/services/model/vote-model.js
+++ b/web/services/model/vote-model.js
@@ -71,7 +71,6 @@ class VoteModel {
           `Vote could not be updated or created (status ${response.status})`
         );
       }
-      this.refreshVotes();
       return await response.json();
     } catch (e) {
       Messages.Show("is-warning", e.message);