diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index 727facf9a1..84a0584469 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -669,7 +669,30 @@ namespace MediaBrowser.Api.UserLibrary if (request.HasSpecialFeature.HasValue) { - items = items.OfType().Where(i => request.HasSpecialFeature.Value ? i.SpecialFeatureIds.Count > 0 : i.SpecialFeatureIds.Count == 0); + var filterValue = request.HasSpecialFeature.Value; + + items = items.Where(i => + { + var movie = i as Movie; + + if (movie != null) + { + return filterValue + ? movie.SpecialFeatureIds.Count > 0 + : movie.SpecialFeatureIds.Count == 0; + } + + var series = i as Series; + + if (series != null) + { + return filterValue + ? series.SpecialFeatureIds.Count > 0 + : series.SpecialFeatureIds.Count == 0; + } + + return false; + }); } if (request.HasSubtitles.HasValue)