diff --git a/Jellyfin.Plugin.Tvdb/Configuration/config.html b/Jellyfin.Plugin.Tvdb/Configuration/config.html
index 732dfa0..22629ee 100644
--- a/Jellyfin.Plugin.Tvdb/Configuration/config.html
+++ b/Jellyfin.Plugin.Tvdb/Configuration/config.html
@@ -76,7 +76,7 @@
TheTVDB Settings:
document.getElementById('cacheDurationInDays').value = config.CacheDurationInDays;
document.getElementById('metadataUpdateInHours').value = config.MetadataUpdateInHours;
document.getElementById('fallbackLanguages').value = config.FallbackLanguages;
- document.getElementById('includeMissingSpecials').checked = config.IncludeMissingSpecials || true;
+ document.getElementById('includeMissingSpecials').checked = config.IncludeMissingSpecials;
Dashboard.hideLoadingMsg();
});
},
diff --git a/Jellyfin.Plugin.Tvdb/Providers/TvdbMissingEpisodeProvider.cs b/Jellyfin.Plugin.Tvdb/Providers/TvdbMissingEpisodeProvider.cs
index 1c96261..3500254 100644
--- a/Jellyfin.Plugin.Tvdb/Providers/TvdbMissingEpisodeProvider.cs
+++ b/Jellyfin.Plugin.Tvdb/Providers/TvdbMissingEpisodeProvider.cs
@@ -192,6 +192,13 @@ private async Task HandleSeason(Season season, IReadOnlyList?
var allEpisodes = allEpisodesRemote ?? await GetAllEpisodes(tvdbId, series.DisplayOrder, season.GetPreferredMetadataLanguage())
.ConfigureAwait(false);
+ // Skip if called from HandleSeries since it will be filtered there, allEpisodesRemote will not be null when called from HandleSeries
+ // Remove specials if IncludeMissingSpecials is false
+ if (allEpisodesRemote is null && !IncludeMissingSpecials)
+ {
+ allEpisodes = allEpisodes.Where(e => e.SeasonNumber != 0).ToList();
+ }
+
var seasonEpisodes = allEpisodes.Where(e => e.SeasonNumber == season.IndexNumber).ToList();
var existingEpisodes = season.GetEpisodes().OfType().ToHashSet();