|  | @@ -189,16 +189,17 @@ namespace Emby.Server.Implementations.Updates
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <inheritdoc />
 | 
	
		
			
				|  |  | -        public async IAsyncEnumerable<PackageVersionInfo> GetAvailablePluginUpdates([EnumeratorCancellation] CancellationToken cancellationToken = default)
 | 
	
		
			
				|  |  | +        public async Task<IEnumerable<PackageVersionInfo>> GetAvailablePluginUpdates(CancellationToken cancellationToken = default)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              var catalog = await GetAvailablePackages(cancellationToken).ConfigureAwait(false);
 | 
	
		
			
				|  |  | +            return GetAvailablePluginUpdates(catalog);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            var systemUpdateLevel = _applicationHost.SystemUpdateLevel;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            // Figure out what needs to be installed
 | 
	
		
			
				|  |  | +        private IEnumerable<PackageVersionInfo> GetAvailablePluginUpdates(IReadOnlyList<PackageInfo> pluginCatalog)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  |              foreach (var plugin in _applicationHost.Plugins)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                var compatibleversions = GetCompatibleVersions(catalog, plugin.Name, plugin.Id, plugin.Version, systemUpdateLevel);
 | 
	
		
			
				|  |  | +                var compatibleversions = GetCompatibleVersions(pluginCatalog, plugin.Name, plugin.Id, plugin.Version, _applicationHost.SystemUpdateLevel);
 | 
	
		
			
				|  |  |                  var version = compatibleversions.FirstOrDefault(y => y.Version > plugin.Version);
 | 
	
		
			
				|  |  |                  if (version != null
 | 
	
		
			
				|  |  |                      && !CompletedInstallations.Any(x => string.Equals(x.AssemblyGuid, version.guid, StringComparison.OrdinalIgnoreCase)))
 |