diff --git a/web/services/election/calculate-election-generic.js b/web/services/election/calculate-election-generic.js
index 9ce1a53b29ee888c390b2c1c0af5402647e4d883..a10fe1e68b89d5aab2ecf0a56182f4db3f58ffce 100644
--- a/web/services/election/calculate-election-generic.js
+++ b/web/services/election/calculate-election-generic.js
@@ -43,6 +43,9 @@ class DirectMetropolitanCalculator {
 
   async calculateResults(filter) {
     this.CandidateListModel.refreshCandidateLists();
+    this.AreaModel.refreshAreas();
+    this.SectionModel.refreshSections();
+    this.DeskRoundModel.refreshDeskRounds();
     let calculator = this;
     this.filter = filter;
     this.deskRounds = await this.DeskRoundModel.getDeskRounds();
@@ -138,7 +141,6 @@ class DirectMetropolitanCalculator {
 
   async calculateAreasResults() {
     let calculator = this;
-    this.AreaModel.refreshAreas();
     let areas = await this.AreaModel.getAreas();
     areas = areas.filter(function (area) {
       return area.ElectionID == calculator.round.ElectionID;