diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js
index 2238db70258a5d3ec32a80f8a43f5e68302efb4a..0a9a930806faa9912275cee071591ed0e2aaae68 100644
--- a/toolkit/mozapps/extensions/content/extensions.js
+++ b/toolkit/mozapps/extensions/content/extensions.js
@@ -3643,16 +3643,18 @@ var gDetailView = {
 
     try {
       if (this._addon.optionsType == AddonManager.OPTIONS_TYPE_INLINE_BROWSER) {
-        whenViewLoaded(() => {
-          this.createOptionsBrowser(rows).then(browser => {
-            // Make sure the browser is unloaded as soon as we change views,
-            // rather than waiting for the next detail view to load.
-            document.addEventListener("ViewChanged", function() {
-              browser.remove();
-            }, {once: true});
-
-            finish(browser);
-          });
+        whenViewLoaded(async () => {
+          await this._addon.startupPromise;
+
+          let browser = await this.createOptionsBrowser(rows);
+
+          // Make sure the browser is unloaded as soon as we change views,
+          // rather than waiting for the next detail view to load.
+          document.addEventListener("ViewChanged", function() {
+            browser.remove();
+          }, {once: true});
+
+          finish(browser);
         });
 
         if (aCallback)