diff --git a/dallinger/deployment.py b/dallinger/deployment.py
index <HASH>..<HASH> 100644
--- a/dallinger/deployment.py
+++ b/dallinger/deployment.py
@@ -406,7 +406,12 @@ class DebugDeployment(HerokuLocalDeployment):
                 dashboard_url = self.with_proxy_port("{}/dashboard/".format(base_url))
                 self.display_dashboard_access_details(dashboard_url)
                 if not self.no_browsers:
-                    self.open_dashboard(dashboard_url)
+                    self.async_open_dashboard(dashboard_url)
+
+                # A little delay here ensures that the experiment window always opens
+                # after the dashboard window.
+                time.sleep(0.1)
+
                 self.heroku = heroku
                 self.out.log(
                     "Monitoring the Heroku Local server for recruitment or completion..."
@@ -443,6 +448,11 @@ class DebugDeployment(HerokuLocalDeployment):
             )
         )
 
+    def async_open_dashboard(self, url):
+        threading.Thread(
+            target=self.open_dashboard, name="Open dashboard", kwargs={"url": url}
+        ).start()
+
     def open_dashboard(self, url):
         config = get_config()
         self.out.log("Opening dashboard")
Open dashboard window asynchronously (#<I>)

Modified `dallinger debug` to open the dashboard asynchronously.