diff --git a/brian_dashboard_manager/grafana/provision.py b/brian_dashboard_manager/grafana/provision.py
index ce99f7510550a2a81b444e2ad6e0c50371786733..053fb7cdefdcaf3e6a303f10200f454ae529e30d 100644
--- a/brian_dashboard_manager/grafana/provision.py
+++ b/brian_dashboard_manager/grafana/provision.py
@@ -585,7 +585,7 @@ def provision(config):
                 dashboard = dashboard.result()
             if dashboard is None:
                 continue
-            managed_dashboard_uids.add(dashboard.get('uid'))
+            managed_dashboard_uids.add(dashboard['uid'])
 
         for uid in all_original_dashboard_uids - managed_dashboard_uids:
             logger.info(f'Deleting stale dashboard with UID {uid}')
diff --git a/test/test_update.py b/test/test_update.py
index f12d2c60cb74dacb20518f05bee91af97b89dbb7..94600c1ceb6da2928010c1859056c2e98c40081c 100644
--- a/test/test_update.py
+++ b/test/test_update.py
@@ -653,7 +653,7 @@ def test_provision(data_config, mocker, client):
     responses.add(
         method=responses.POST,
         url=f"http://{data_config['hostname']}/api/dashboards/db",
-        json={'id': 666})
+        json={'uid': '999', 'id': 666})
 
     responses.add(
         method=responses.PUT,
@@ -726,7 +726,7 @@ def test_provision(data_config, mocker, client):
         'brian_dashboard_manager.grafana.provision.create_dashboard')
     # we dont care about this, just mark it created
     # we dont care about this, tested separately
-    _mocked_create_dashboard.return_value = {'id': 666}
+    _mocked_create_dashboard.return_value = {'uid': '999', 'id': 666}
 
     _mocked_delete_api_token = mocker.patch(
         'brian_dashboard_manager.grafana.provision.delete_api_token')