diff --git a/Dalamud/Plugin/Internal/PluginManager.cs b/Dalamud/Plugin/Internal/PluginManager.cs index b42b51525..f390664b6 100644 --- a/Dalamud/Plugin/Internal/PluginManager.cs +++ b/Dalamud/Plugin/Internal/PluginManager.cs @@ -396,7 +396,9 @@ internal class PluginManager : IInternalDisposableService await plugin.UnloadAsync(PluginLoaderDisposalMode.None).SuppressException(); // Unload plugins that can be unloaded from any thread. - await Task.WhenAll(disposablePlugins.Select(plugin => plugin.UnloadAsync(PluginLoaderDisposalMode.None))) + await Task.WhenAll( + disposablePlugins.Where(plugin => plugin.Manifest.CanUnloadAsync) + .Select(plugin => plugin.UnloadAsync(PluginLoaderDisposalMode.None))) .SuppressException(); // Just in case plugins still have tasks running that they didn't cancel when they should have,