diff --git a/gmime/gmime-gpg-context.c b/gmime/gmime-gpg-context.c
index 0548db8..e53ea04 100644
--- a/gmime/gmime-gpg-context.c
+++ b/gmime/gmime-gpg-context.c
@@ -863,9 +863,11 @@ gpg_ctx_parse_signer_info (struct _GpgCtx *gpg, char *status)
 	} else if (!strncmp (status, "GOODSIG ", 8)) {
 		signer = gpg_ctx_add_signer (gpg, status + 8);
 		gpg->goodsig = TRUE;
+		signer->status = GMIME_SIGNER_STATUS_GOOD;
 	} else if (!strncmp (status, "BADSIG ", 7)) {
 		signer = gpg_ctx_add_signer (gpg, status + 7);
 		gpg->badsig = TRUE;
+		signer->status = GMIME_SIGNER_STATUS_BAD;
 	} else if (!strncmp (status, "EXPSIG ", 7)) {
 		signer = gpg_ctx_add_signer (gpg, status + 7);
 		signer->errors |= GMIME_SIGNER_ERROR_EXPSIG;
