diff --git a/src/Files.App/Actions/Display/GroupAction.cs b/src/Files.App/Actions/Display/GroupAction.cs
index e0bf7d3e1930..734287b45ca3 100644
--- a/src/Files.App/Actions/Display/GroupAction.cs
+++ b/src/Files.App/Actions/Display/GroupAction.cs
@@ -177,6 +177,7 @@ public GroupByAction()
 		public Task ExecuteAsync(object? parameter = null)
 		{
 			DisplayContext.GroupOption = GroupOption;
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
@@ -377,6 +378,7 @@ public Task ExecuteAsync(object? parameter = null)
 		{
 			DisplayContext.GroupOption = GroupOption;
 			DisplayContext.GroupByDateUnit = GroupByDateUnit;
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
@@ -425,6 +427,7 @@ public GroupAscendingAction()
 		public Task ExecuteAsync(object? parameter = null)
 		{
 			context.GroupDirection = SortDirection.Ascending;
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
@@ -469,6 +472,7 @@ public GroupDescendingAction()
 		public Task ExecuteAsync(object? parameter = null)
 		{
 			context.GroupDirection = SortDirection.Descending;
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
@@ -505,6 +509,7 @@ public ToggleGroupDirectionAction()
 		public Task ExecuteAsync(object? parameter = null)
 		{
 			context.GroupDirection = context.SortDirection is SortDirection.Descending ? SortDirection.Ascending : SortDirection.Descending;
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
@@ -536,6 +541,7 @@ public GroupByYearAction()
 		public Task ExecuteAsync(object? parameter = null)
 		{
 			context.GroupByDateUnit = GroupByDateUnit.Year;
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
@@ -580,6 +586,7 @@ public GroupByMonthAction()
 		public Task ExecuteAsync(object? parameter = null)
 		{
 			context.GroupByDateUnit = GroupByDateUnit.Month;
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
@@ -621,6 +628,7 @@ public Task ExecuteAsync(object? parameter = null)
 				GroupByDateUnit.Month => GroupByDateUnit.Day,
 				_ => GroupByDateUnit.Year
 			};
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
diff --git a/src/Files.App/Actions/Display/SortAction.cs b/src/Files.App/Actions/Display/SortAction.cs
index 4c5b9742259e..1e78176035c9 100644
--- a/src/Files.App/Actions/Display/SortAction.cs
+++ b/src/Files.App/Actions/Display/SortAction.cs
@@ -165,6 +165,7 @@ public SortByAction()
 		public Task ExecuteAsync(object? parameter = null)
 		{
 			displayContext.SortOption = SortOption;
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
@@ -207,6 +208,7 @@ public SortAscendingAction()
 		public Task ExecuteAsync(object? parameter = null)
 		{
 			context.SortDirection = SortDirection.Ascending;
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
@@ -241,6 +243,7 @@ public SortDescendingAction()
 		public Task ExecuteAsync(object? parameter = null)
 		{
 			context.SortDirection = SortDirection.Descending;
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
@@ -274,6 +277,8 @@ context.SortDirection is SortDirection.Descending
 					? SortDirection.Ascending
 					: SortDirection.Descending;
 
+			LayoutHelpers.UpdateOpenTabsPreferences();
+
 			return Task.CompletedTask;
 		}
 	}
diff --git a/src/Files.App/Actions/Display/SortFilesAndFoldersTogetherAction.cs b/src/Files.App/Actions/Display/SortFilesAndFoldersTogetherAction.cs
index e91ea79c8bc4..49f0311aa0d4 100644
--- a/src/Files.App/Actions/Display/SortFilesAndFoldersTogetherAction.cs
+++ b/src/Files.App/Actions/Display/SortFilesAndFoldersTogetherAction.cs
@@ -26,6 +26,7 @@ public SortFilesAndFoldersTogetherAction()
 		public Task ExecuteAsync(object? parameter = null)
 		{
 			context.SortDirectoriesAlongsideFiles = true;
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
diff --git a/src/Files.App/Actions/Display/SortFilesFirstAction.cs b/src/Files.App/Actions/Display/SortFilesFirstAction.cs
index 8db1fc77c1fd..b7169e250aef 100644
--- a/src/Files.App/Actions/Display/SortFilesFirstAction.cs
+++ b/src/Files.App/Actions/Display/SortFilesFirstAction.cs
@@ -27,6 +27,7 @@ public Task ExecuteAsync(object? parameter = null)
 		{
 			context.SortFilesFirst = true;
 			context.SortDirectoriesAlongsideFiles = false;
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
diff --git a/src/Files.App/Actions/Display/SortFoldersFirstAction.cs b/src/Files.App/Actions/Display/SortFoldersFirstAction.cs
index d1aaaaf587c1..95b815515c22 100644
--- a/src/Files.App/Actions/Display/SortFoldersFirstAction.cs
+++ b/src/Files.App/Actions/Display/SortFoldersFirstAction.cs
@@ -27,6 +27,7 @@ public Task ExecuteAsync(object? parameter = null)
 		{
 			context.SortFilesFirst = false;
 			context.SortDirectoriesAlongsideFiles = false;
+			LayoutHelpers.UpdateOpenTabsPreferences();
 
 			return Task.CompletedTask;
 		}
diff --git a/src/Files.App/Data/Contracts/IShellPanesPage.cs b/src/Files.App/Data/Contracts/IShellPanesPage.cs
index 9eb40f0971fc..afeace482ef9 100644
--- a/src/Files.App/Data/Contracts/IShellPanesPage.cs
+++ b/src/Files.App/Data/Contracts/IShellPanesPage.cs
@@ -58,5 +58,11 @@ public interface IShellPanesPage : IDisposable, INotifyPropertyChanged
 		/// Focuses the other pane.
 		/// </summary>
 		public void FocusOtherPane();
+
+		/// <summary>
+		/// Gets open panes.
+		/// </summary>
+		/// <returns>An enumerable containing open panes.</returns>
+		public IEnumerable<ModernShellPage> GetPanes();
 	}
 }
diff --git a/src/Files.App/Helpers/Layout/LayoutHelpers.cs b/src/Files.App/Helpers/Layout/LayoutHelpers.cs
new file mode 100644
index 000000000000..500d553df43b
--- /dev/null
+++ b/src/Files.App/Helpers/Layout/LayoutHelpers.cs
@@ -0,0 +1,48 @@
+// Copyright (c) Files Community
+// Licensed under the MIT License.
+
+namespace Files.App.Helpers
+{
+	static class LayoutHelpers
+	{
+		public static void UpdateOpenTabsPreferences()
+		{
+			// Services
+			var multitaskingContext = Ioc.Default.GetRequiredService<IMultitaskingContext>();
+			var layoutSettingsService = Ioc.Default.GetRequiredService<ILayoutSettingsService>();
+
+			// Get all tab instances and active path
+			var tabs = multitaskingContext.Control?.GetAllTabInstances();
+			var activePath = (multitaskingContext.CurrentTabItem?.TabItemContent as ShellPanesPage)?.ActivePane?.TabBarItemParameter?.NavigationParameter as string;
+
+			// Return if required data is missing
+			if (tabs is null || activePath is null)
+				return;
+
+			for (int i = 0; i < tabs.Count; i++)
+			{
+				var isNotCurrentTab = i != multitaskingContext.CurrentTabIndex;
+				var shPage = tabs[i] as ShellPanesPage;
+
+				if (shPage is not null)
+				{
+					foreach (var pane in shPage.GetPanes())
+					{
+						var path = pane.ShellViewModel?.CurrentFolder?.ItemPath;
+
+						// Skip panes without a valid path
+						if (path is null)
+							continue;
+
+						// Check if we need to update preferences for this pane
+						if ((isNotCurrentTab || pane != shPage.ActivePane) &&
+							(layoutSettingsService.SyncFolderPreferencesAcrossDirectories ||
+							 path.Equals(activePath, StringComparison.OrdinalIgnoreCase)))
+							if (pane.SlimContentPage is BaseLayoutPage page)
+								page.FolderSettings?.ReloadGroupAndSortPreferences(path);
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs b/src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs
index 7f17895d5c85..90e6a1a1808b 100644
--- a/src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs
+++ b/src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs
@@ -265,6 +265,24 @@ public Type GetLayoutType(string path, bool changeLayoutMode = true)
 			};
 		}
 
+		public void ReloadGroupAndSortPreferences(string? path)
+		{
+			if (string.IsNullOrWhiteSpace(path))
+				return;
+
+			var preferencesItem = GetLayoutPreferencesForPath(path);
+			if (preferencesItem is null)
+				return;
+
+			DirectorySortOption = preferencesItem.DirectorySortOption;
+			DirectorySortDirection = preferencesItem.DirectorySortDirection;
+			DirectoryGroupOption = preferencesItem.DirectoryGroupOption;
+			DirectoryGroupByDateUnit = preferencesItem.DirectoryGroupByDateUnit;
+			DirectoryGroupDirection = preferencesItem.DirectoryGroupDirection;
+			SortDirectoriesAlongsideFiles = preferencesItem.SortDirectoriesAlongsideFiles;
+			SortFilesFirst = preferencesItem.SortFilesFirst;
+		}
+
 		public bool IsPathUsingDefaultLayout(string? path)
 		{
 			return UserSettingsService.LayoutSettingsService.SyncFolderPreferencesAcrossDirectories ||
diff --git a/src/Files.App/Views/ShellPanesPage.xaml.cs b/src/Files.App/Views/ShellPanesPage.xaml.cs
index 7298d6d1c5ad..d0f26eeb5b36 100644
--- a/src/Files.App/Views/ShellPanesPage.xaml.cs
+++ b/src/Files.App/Views/ShellPanesPage.xaml.cs
@@ -356,6 +356,12 @@ public void FocusOtherPane()
 				GetPane(0)?.Focus(FocusState.Programmatic);
 		}
 
+		/// <inheritdoc/>
+		public IEnumerable<ModernShellPage> GetPanes()
+		{
+			return RootGrid.Children.Where(x => RootGrid.Children.IndexOf(x) % 2 == 0).Cast<ModernShellPage>();
+		}
+
 		// Private methods
 
 		private ModernShellPage? GetPane(int index = -1)
@@ -372,11 +378,6 @@ private int GetPaneCount()
 			return (RootGrid.Children.Count + 1) / 2;
 		}
 
-		private IEnumerable<ModernShellPage> GetPanes()
-		{
-			return RootGrid.Children.Where(x => RootGrid.Children.IndexOf(x) % 2 == 0).Cast<ModernShellPage>();
-		}
-
 		private IEnumerable<GridSplitter> GetSizers()
 		{
 			return RootGrid.Children.Where(x => RootGrid.Children.IndexOf(x) % 2 == 1).Cast<GridSplitter>();