diff --git a/brian_dashboard_manager/routes/update.py b/brian_dashboard_manager/routes/update.py
index 780d40d6affb7aa7784273df23d6760e2830902f..9b6fa58732e33ec6e2bfa602bb076c29d13b5fd9 100644
--- a/brian_dashboard_manager/routes/update.py
+++ b/brian_dashboard_manager/routes/update.py
@@ -40,6 +40,13 @@ def should_provision():
             timestamp = datetime.datetime.fromtimestamp(
                 state.get('timestamp', 1))
 
+            now = datetime.datetime.now()
+            if provisioning and (now - timestamp).total_seconds() > 86400:
+                # if we stay in provisioning state
+                # for over a day, we probably restarted
+                # and the state file is out of sync.
+                provisioning = False
+
             can_provision = not provisioning
             return can_provision, timestamp
     except FileNotFoundError: