diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index ea79d296e7dd0f8fd812b0677a252af5cf7ad26e..bd95ef5d6b99399c859af1cf71d9d62477f4ac2b 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -33,6 +33,7 @@ ChromeUtils.defineESModuleGetters(this, {
   ContextualIdentityService:
     "resource://gre/modules/ContextualIdentityService.sys.mjs",
   CustomizableUI: "resource:///modules/CustomizableUI.sys.mjs",
+  ZenCustomizableUI: "chrome://browser/content/ZenCustomizableUI.sys.mjs",
   DevToolsSocketStatus:
     "resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs",
   DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs",
@@ -2338,6 +2339,11 @@ var XULBrowserWindow = {
     AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser);
     TranslationsParent.onLocationChange(gBrowser.selectedBrowser);
 
+    gZenViewSplitter.onLocationChange(gBrowser.selectedBrowser);
+    ZenWorkspaces.onLocationChange(gBrowser.selectedBrowser);
+    gZenTabUnloader.onLocationChange(gBrowser.selectedBrowser);
+    gZenPinnedTabManager.onLocationChange(gBrowser.selectedBrowser);
+
     PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser);
 
     if (!gMultiProcessBrowser) {
@@ -4814,7 +4820,7 @@ function switchToTabHavingURI(
       ignoreQueryString || replaceQueryString,
       ignoreFragmentWhenComparing
     );
-    let browsers = aWindow.gBrowser.browsers;
+    let browsers = aWindow.ZenWorkspaces.allUsedBrowsers;
     for (let i = 0; i < browsers.length; i++) {
       let browser = browsers[i];
       let browserCompare = cleanURL(
@@ -4857,7 +4863,7 @@ function switchToTabHavingURI(
         }
 
         if (!doAdopt) {
-          aWindow.gBrowser.tabContainer.selectedIndex = i;
+          aWindow.ZenWorkspaces.switchIfNeeded(browser, i);
         }
 
         return true;
