diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index f6c0304c23..695a7d5e99 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -20731,5 +20731,16 @@ Change of this parameter will affect the layout of buttons in notification toast
Value
1
+ FSSortFSFoldersToTop
+
diff --git a/indra/newview/app_settings/settings_latency.xml b/indra/newview/app_settings/settings_latency.xml
index e7575b0294..663ba3daab 100644
--- a/indra/newview/app_settings/settings_latency.xml
+++ b/indra/newview/app_settings/settings_latency.xml
@@ -662,6 +662,18 @@
0
+ FSSortFSFoldersToTop
+
+
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 916083706e..c79c4fa529 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -4028,6 +4028,22 @@ EInventorySortGroup LLFolderBridge::getSortGroup() const
return SG_TRASH_FOLDER;
}
+ // Don't sort #FS folders to top
+ static LLCachedControl sFSSortFSFoldersToTopPt(gSavedSettings, "FSSortFSFoldersToTop");
+ if (!sFSSortFSFoldersToTopPt)
+ {
+ LLViewerInventoryCategory* cat = getCategory();
+ if(cat)
+ {
+ std::string catName(cat->getName());
+ if ((catName == ROOT_FIRESTORM_FOLDER) || (catName == RLV_ROOT_FOLDER) || (catName == "#Phoenix"))
+ {
+ return SG_NORMAL_FOLDER;
+ }
+ }
+ }
+ //
+
if(LLFolderType::lookupIsProtectedType(preferred_type))
{
return SG_SYSTEM_FOLDER;