diff --git a/crypto/cms/cms_lib.c b/crypto/cms/cms_lib.c
index a5a186c..72afa09 100644
--- a/crypto/cms/cms_lib.c
+++ b/crypto/cms/cms_lib.c
@@ -410,6 +410,8 @@ static STACK_OF(CMS_CertificateChoices) **cms_get0_certificate_choices(CMS_Conte
 		return &cms->d.signedData->certificates;
 
 		case NID_pkcs7_enveloped:
+		if (cms->d.envelopedData->originatorInfo == NULL)
+			return NULL;
 		return &cms->d.envelopedData->originatorInfo->certificates;
 
 		default:
@@ -491,6 +493,8 @@ static STACK_OF(CMS_RevocationInfoChoice) **cms_get0_revocation_choices(CMS_Cont
 		return &cms->d.signedData->crls;
 
 		case NID_pkcs7_enveloped:
+		if (cms->d.envelopedData->originatorInfo == NULL)
+			return NULL;
 		return &cms->d.envelopedData->originatorInfo->crls;
 
 		default:
