diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c index 7793be859e..13b8574104 100644 --- a/lib/dns/rbtdb.c +++ b/lib/dns/rbtdb.c @@ -5086,13 +5086,18 @@ cache_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, */ found = header; if (header->type == dns_rdatatype_cname && - cname_ok && cnamesig != NULL) + cname_ok) { /* * If we've already got the * CNAME RRSIG, use it. */ - foundsig = cnamesig; + if (cnamesig != NULL) { + foundsig = cnamesig; + } else { + sigtype = + RBTDB_RDATATYPE_SIGCNAME; + } } } else if (header->type == sigtype) { /*