diff --git a/js/xpconnect/loader/mozJSComponentLoader.cpp b/js/xpconnect/loader/mozJSComponentLoader.cpp
index 109abdc6408e4152c5f0e3ca171f40c7c7959e67..6b1cb307016a2455679a5d888d32d3a8d4e8c74e 100644
--- a/js/xpconnect/loader/mozJSComponentLoader.cpp
+++ b/js/xpconnect/loader/mozJSComponentLoader.cpp
@@ -304,7 +304,16 @@ mozJSComponentLoader::ReallyInit()
 {
     MOZ_ASSERT(!mInitialized);
 
-    mShareLoaderGlobal = Preferences::GetBool("jsloader.shareGlobal");
+    const char* shareGlobal = PR_GetEnv("MOZ_LOADER_SHARE_GLOBAL");
+    if (shareGlobal && *shareGlobal) {
+        nsDependentCString val(shareGlobal);
+        mShareLoaderGlobal = !(val.EqualsLiteral("0") ||
+                               val.LowerCaseEqualsLiteral("no") ||
+                               val.LowerCaseEqualsLiteral("false") ||
+                               val.LowerCaseEqualsLiteral("off"));
+    } else {
+        mShareLoaderGlobal = Preferences::GetBool("jsloader.shareGlobal");
+    }
 
     nsresult rv;
     nsCOMPtr<nsIObserverService> obsSvc =