|  | @@ -1298,16 +1298,15 @@ namespace Emby.Server.Implementations.Data
 | 
	
		
			
				|  |  |                  && type != typeof(Book)
 | 
	
		
			
				|  |  |                  && type != typeof(LiveTvProgram)
 | 
	
		
			
				|  |  |                  && type != typeof(AudioBook)
 | 
	
		
			
				|  |  | -                && type != typeof(Audio)
 | 
	
		
			
				|  |  |                  && type != typeof(MusicAlbum);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private BaseItem GetItem(SqliteDataReader reader, InternalItemsQuery query)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            return GetItem(reader, query, HasProgramAttributes(query), HasEpisodeAttributes(query), HasServiceName(query), HasStartDate(query), HasTrailerTypes(query), HasArtistFields(query), HasSeriesFields(query));
 | 
	
		
			
				|  |  | +            return GetItem(reader, query, HasProgramAttributes(query), HasEpisodeAttributes(query), HasServiceName(query), HasStartDate(query), HasTrailerTypes(query), HasArtistFields(query), HasSeriesFields(query), false);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        private BaseItem GetItem(SqliteDataReader reader, InternalItemsQuery query, bool enableProgramAttributes, bool hasEpisodeAttributes, bool hasServiceName, bool queryHasStartDate, bool hasTrailerTypes, bool hasArtistFields, bool hasSeriesFields)
 | 
	
		
			
				|  |  | +        private BaseItem GetItem(SqliteDataReader reader, InternalItemsQuery query, bool enableProgramAttributes, bool hasEpisodeAttributes, bool hasServiceName, bool queryHasStartDate, bool hasTrailerTypes, bool hasArtistFields, bool hasSeriesFields, bool skipDeserialization)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              var typeString = reader.GetString(0);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1320,7 +1319,7 @@ namespace Emby.Server.Implementations.Data
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              BaseItem item = null;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            if (TypeRequiresDeserialization(type))
 | 
	
		
			
				|  |  | +            if (TypeRequiresDeserialization(type) && !skipDeserialization)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  try
 | 
	
		
			
				|  |  |                  {
 | 
	
	
		
			
				|  | @@ -2562,7 +2561,7 @@ namespace Emby.Server.Implementations.Data
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  foreach (var row in statement.ExecuteQuery())
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | -                    var item = GetItem(row, query, hasProgramAttributes, hasEpisodeAttributes, hasServiceName, hasStartDate, hasTrailerTypes, hasArtistFields, hasSeriesFields);
 | 
	
		
			
				|  |  | +                    var item = GetItem(row, query, hasProgramAttributes, hasEpisodeAttributes, hasServiceName, hasStartDate, hasTrailerTypes, hasArtistFields, hasSeriesFields, query.SkipDeserialization);
 | 
	
		
			
				|  |  |                      if (item is not null)
 | 
	
		
			
				|  |  |                      {
 | 
	
		
			
				|  |  |                          items.Add(item);
 | 
	
	
		
			
				|  | @@ -2774,7 +2773,7 @@ namespace Emby.Server.Implementations.Data
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      foreach (var row in statement.ExecuteQuery())
 | 
	
		
			
				|  |  |                      {
 | 
	
		
			
				|  |  | -                        var item = GetItem(row, query, hasProgramAttributes, hasEpisodeAttributes, hasServiceName, hasStartDate, hasTrailerTypes, hasArtistFields, hasSeriesFields);
 | 
	
		
			
				|  |  | +                        var item = GetItem(row, query, hasProgramAttributes, hasEpisodeAttributes, hasServiceName, hasStartDate, hasTrailerTypes, hasArtistFields, hasSeriesFields, false);
 | 
	
		
			
				|  |  |                          if (item is not null)
 | 
	
		
			
				|  |  |                          {
 | 
	
		
			
				|  |  |                              list.Add(item);
 | 
	
	
		
			
				|  | @@ -5021,7 +5020,7 @@ AND Type = @InternalPersonType)");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                          foreach (var row in statement.ExecuteQuery())
 | 
	
		
			
				|  |  |                          {
 | 
	
		
			
				|  |  | -                            var item = GetItem(row, query, hasProgramAttributes, hasEpisodeAttributes, hasServiceName, hasStartDate, hasTrailerTypes, hasArtistFields, hasSeriesFields);
 | 
	
		
			
				|  |  | +                            var item = GetItem(row, query, hasProgramAttributes, hasEpisodeAttributes, hasServiceName, hasStartDate, hasTrailerTypes, hasArtistFields, hasSeriesFields, false);
 | 
	
		
			
				|  |  |                              if (item is not null)
 | 
	
		
			
				|  |  |                              {
 | 
	
		
			
				|  |  |                                  var countStartColumn = columns.Count - 1;
 |