diff --git a/brian_dashboard_manager/grafana/provision.py b/brian_dashboard_manager/grafana/provision.py
index 5f56a4a7b5809adcb5b228edd8d7378c25891cfd..69da36bf491509215fec9a4a55a6b3d7c281f86f 100644
--- a/brian_dashboard_manager/grafana/provision.py
+++ b/brian_dashboard_manager/grafana/provision.py
@@ -9,7 +9,7 @@ from concurrent.futures import Future
 from concurrent.futures import ThreadPoolExecutor
 from brian_dashboard_manager.config import DEFAULT_ORGANIZATIONS
 from brian_dashboard_manager.grafana.utils.request import AdminRequest, \
-    TokenRequest
+    TokenRequest, MAX_THREADS
 
 from brian_dashboard_manager.services.api import fetch_services
 
@@ -41,7 +41,6 @@ from brian_dashboard_manager.templating.render import (
     render_simple_dashboard,
 )
 
-MAX_THREADS = 16
 logger = logging.getLogger(__name__)
 
 DASHBOARDS = {
@@ -810,7 +809,9 @@ def _provision_org(config, org, org_config):
         with ThreadPoolExecutor(max_workers=MAX_THREADS) as thread_executor:
 
             args = (thread_executor, config, org_config, ds_name, token_request)
-            managed_dashboards = itertools.chain(
+
+            # call to list is needed to queue up the futures
+            managed_dashboards = list(itertools.chain(
                 _provision_interfaces(*args),
                 _provision_gws_indirect(*args),
                 _provision_gws_direct(*args),
@@ -819,7 +820,7 @@ def _provision_org(config, org, org_config):
                 _provision_service_dashboards(*args),
                 _provision_static_dashboards(*args),
                 _get_ignored_dashboards(*args)
-            )
+            ))
 
             managed_dashboard_uids = {}
             for dashboard in managed_dashboards:
diff --git a/brian_dashboard_manager/grafana/utils/request.py b/brian_dashboard_manager/grafana/utils/request.py
index 8baa5e95199a5843df0e26c996c16c9b522d4604..c126690c0bd83725df4c8bf3a96d52963fb1fc57 100644
--- a/brian_dashboard_manager/grafana/utils/request.py
+++ b/brian_dashboard_manager/grafana/utils/request.py
@@ -4,13 +4,15 @@ from requests.adapters import HTTPAdapter
 
 logger = logging.getLogger(__name__)
 
+MAX_THREADS = 16
+
 
 class Request(requests.Session):
     def __init__(self, url, headers=None):
         super().__init__()
 
         # allow using up to 16 connections
-        adapter = HTTPAdapter(pool_maxsize=16)
+        adapter = HTTPAdapter(pool_maxsize=MAX_THREADS)
         self.mount(url, adapter)
 
         self.headers.update({