diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
index b54980f967ab8fe9b9c13bbad8fae6323ec84f1f..f1a5481fb3bd44c1f8f6e40f4163aa7842623325 100644
--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
@@ -1333,9 +1333,11 @@ nsresult nsXREDirProvider::AppendFromAppData(nsIFile* aFile, bool aIsDotted) {
   // Similar to nsXREDirProvider::AppendProfilePath.
   // TODO: Bug 1990407 - Evaluate if refactoring might be required there in the
   // future?
-  if (gAppData->profile) {
+  // Use aIsDotted for a different purpose here, will probably break in the future
+  if (gAppData->profile && aIsDotted) {
     nsAutoCString profile;
     profile = gAppData->profile;
+    profile = "."_ns + nsDependentCString(gAppData->profile);
     MOZ_TRY(aFile->AppendRelativeNativePath(profile));
   } else {
     nsAutoCString vendor;
@@ -1345,8 +1347,6 @@ nsresult nsXREDirProvider::AppendFromAppData(nsIFile* aFile, bool aIsDotted) {
     ToLowerCase(vendor);
     ToLowerCase(appName);
 
-    MOZ_TRY(aFile->AppendRelativeNativePath(aIsDotted ? ("."_ns + vendor)
-                                                      : vendor));
     MOZ_TRY(aFile->AppendRelativeNativePath(appName));
   }
 
@@ -1514,13 +1514,8 @@ nsresult nsXREDirProvider::GetLegacyOrXDGHomePath(const char* aHomeDir,
 
     // If the build was made against a specific profile name, MOZ_APP_PROFILE=
     // then make sure we respect this and dont move to XDG directory
-    if (gAppData->profile) {
-      MOZ_TRY(NS_NewNativeLocalFile(nsDependentCString(aHomeDir),
-                                    getter_AddRefs(localDir)));
-    } else {
       MOZ_TRY(GetLegacyOrXDGConfigHome(aHomeDir, getter_AddRefs(localDir)));
       MOZ_TRY(localDir->Clone(getter_AddRefs(parentDir)));
-    }
 
     MOZ_TRY(AppendFromAppData(localDir, false));
   }
