1diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
2index 6db876975187..5882c5d7f1d6 100644
3--- a/toolkit/xre/nsXREDirProvider.cpp
4+++ b/toolkit/xre/nsXREDirProvider.cpp
5@@ -11,6 +11,7 @@
6
7 #include "jsapi.h"
8 #include "xpcpublic.h"
9+#include "prenv.h"
10 #include "prprf.h"
11
12 #include "nsIAppStartup.h"
13@@ -297,7 +297,8 @@ static nsresult GetSystemParentDirectory(nsIFile** aFile) {
14 "/usr/lib/mozilla"_ns
15 # endif
16 ;
17- rv = NS_NewNativeLocalFile(dirname, getter_AddRefs(localDir));
18+ const char* pathVar = PR_GetEnv("MOZ_SYSTEM_DIR");
19+ rv = NS_NewNativeLocalFile((pathVar && *pathVar) ? nsDependentCString(pathVar) : reinterpret_cast<const nsCString&>(dirname), getter_AddRefs(localDir));
20 # endif
21
22 if (NS_SUCCEEDED(rv)) {