diff --git a/service/resolver/resolve.go b/service/resolver/resolve.go index 4b5b5181..e84858f5 100644 --- a/service/resolver/resolve.go +++ b/service/resolver/resolve.go @@ -184,7 +184,7 @@ func Resolve(ctx context.Context, q *Query) (rrCache *RRCache, err error) { case !rrCache.Expired(): // Return non-expired cached entry immediately. return rrCache, nil - case useStaleCache(): + case rrCache.RCode == dns.RcodeSuccess && useStaleCache(): // Return expired cache if we should use stale cache entries, // but start an async query instead. log.Tracer(ctx).Tracef(