Index: b/g10/sig-check.c =================================================================== --- b/g10/sig-check.c +++ b/g10/sig-check.c @@ -803,9 +803,14 @@ kbnode_t ctx = NULL; kbnode_t n; - while ((n = walk_kbnode (kb, &ctx, PKT_PUBLIC_SUBKEY))) + while ((n = walk_kbnode (kb, &ctx, 0))) { - PKT_public_key *subk = n->pkt->pkt.public_key; + PKT_public_key *subk; + + if (n->pkt->pkttype != PKT_PUBLIC_SUBKEY) + continue; + + subk = n->pkt->pkt.public_key; if (sig->keyid[0] == subk->keyid[0] && sig->keyid[1] == subk->keyid[1]) /* Issued by a subkey. */