diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 261c6242a7..031fa4827c 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -7089,8 +7089,10 @@ zone_resigninc(dns_zone_t *zone) { * recent signature. */ /* XXXMPA increase number of RRsets signed pre call */ - if (covers == dns_rdatatype_soa || i++ > zone->signatures || - resign > stop) { + if ((covers == dns_rdatatype_soa && + dns_name_equal(name, &zone->origin)) || + i++ > zone->signatures || resign > stop) + { break; }