diff --git a/src/NzbDrone.Core/Tv/SeriesService.cs b/src/NzbDrone.Core/Tv/SeriesService.cs index f888c8ada65..48e890e1c2a 100644 --- a/src/NzbDrone.Core/Tv/SeriesService.cs +++ b/src/NzbDrone.Core/Tv/SeriesService.cs @@ -169,16 +169,22 @@ public Series UpdateSeries(Series series, bool updateEpisodesToMatchSeason = tru { var storedSeries = GetSeries(series.Id); - foreach (var season in series.Seasons) + if (updateEpisodesToMatchSeason) { - var storedSeason = storedSeries.Seasons.SingleOrDefault(s => s.SeasonNumber == season.SeasonNumber); - - if (storedSeason != null && season.Monitored != storedSeason.Monitored && updateEpisodesToMatchSeason) + foreach (var season in series.Seasons) { - _episodeService.SetEpisodeMonitoredBySeason(series.Id, season.SeasonNumber, season.Monitored); + var storedSeason = storedSeries.Seasons.SingleOrDefault(s => s.SeasonNumber == season.SeasonNumber); + + if (storedSeason != null && season.Monitored != storedSeason.Monitored) + { + _episodeService.SetEpisodeMonitoredBySeason(series.Id, season.SeasonNumber, season.Monitored); + } } } + // Never update AddOptions when updating a series, keep it the same as the existing stored series. + series.AddOptions = storedSeries.AddOptions; + var updatedSeries = _seriesRepository.Update(series); _eventAggregator.PublishEvent(new SeriesEditedEvent(updatedSeries, storedSeries));