diff --git a/src/Files.App/Actions/Show/ToggleFilterHeaderAction.cs b/src/Files.App/Actions/Show/ToggleFilterHeaderAction.cs index 81eefb22ca32..8fd0ac588dc3 100644 --- a/src/Files.App/Actions/Show/ToggleFilterHeaderAction.cs +++ b/src/Files.App/Actions/Show/ToggleFilterHeaderAction.cs @@ -33,12 +33,16 @@ public Task ExecuteAsync(object? parameter = null) { generalSettingsService.ShowFilterHeader = !IsOn; - if (IsOn) - ContentPageContext.ShellPage!.ShellViewModel.InvokeFocusFilterHeader(); - else - ContentPageContext.ShellPage!.PaneHolder.FocusActivePane(); - - return Task.CompletedTask; + // Only attempt to focus if there's an active shell page + if (ContentPageContext.ShellPage is not null) + { + if (IsOn) + ContentPageContext.ShellPage.ShellViewModel.InvokeFocusFilterHeader(); + else + ContentPageContext.ShellPage.PaneHolder.FocusActivePane(); + } + + return Task.CompletedTask; } private void GeneralSettingsService_PropertyChanged(object? sender, PropertyChangedEventArgs e)