diff --git a/src/NzbDrone.Core/DecisionEngine/Specifications/RssSync/DelaySpecification.cs b/src/NzbDrone.Core/DecisionEngine/Specifications/RssSync/DelaySpecification.cs index 2298fac1b..1f2ef13f2 100644 --- a/src/NzbDrone.Core/DecisionEngine/Specifications/RssSync/DelaySpecification.cs +++ b/src/NzbDrone.Core/DecisionEngine/Specifications/RssSync/DelaySpecification.cs @@ -68,11 +68,14 @@ namespace NzbDrone.Core.DecisionEngine.Specifications.RssSync // If quality meets or exceeds the best allowed quality in the profile accept it immediately var bestQualityInProfile = new QualityModel(profile.LastAllowedQuality()); - var isBestInProfile = comparer.Compare(subject.ParsedMovieInfo.Quality, bestQualityInProfile) >= 0; + var isBestInProfile = comparer.Compare(subject.ParsedMovieInfo.Quality, bestQualityInProfile) >= 0; + var title = subject.Release.Title; + var preferredWords = subject.Movie.Profile.Value.PreferredTags; + var num = preferredWords.AsEnumerable().Count(w => title.ToLower().Contains(w.ToLower())); - if (isBestInProfile && isPreferredProtocol) + if (isBestInProfile && isPreferredProtocol && (num > 0 || preferredWords == null)) { - _logger.Debug("Quality is highest in profile for preferred protocol, will not delay"); + _logger.Debug("Quality is highest in profile for preferred protocol and preferred word count is {0}, will not delay",num); return Decision.Accept(); }