diff --git a/src/Recipient.c b/src/Recipient.c
index 618fef3..b970106 100644
--- a/src/Recipient.c
+++ b/src/Recipient.c
@@ -123,6 +123,7 @@
 	return;
 }
 
+#if defined(USE_HKDF_SHA2) || defined(USE_HKDF_AES)
 /**
 * Perform an AES-CCM Decryption operation
 *
@@ -153,6 +154,7 @@
 
 
 	if (fECDH) {
+#ifdef USE_ECDH
 		cn_cbor * pkeyMessage;
 
 		if (pKeyPrivate != NULL) {
@@ -185,6 +187,9 @@
 
 			if (!ECDH_ComputeSecret(pCose, (cn_cbor **)&pKeyPrivate, pkeyMessage, &pbSecret, &cbSecret, CBOR_CONTEXT_PARAM_COMMA perr)) goto errorReturn;
 		}
+#else
+                goto errorReturn;
+#endif
 	}
 	else {
 		CHECK_CONDITION(pKeyPrivate != NULL, COSE_ERR_INVALID_PARAMETER);
@@ -201,12 +206,20 @@
 	}
 
 	if (fHMAC) {
+#ifdef USE_HKDF_SHA2
 		if (!HKDF_Extract(pCose, pbSecret, cbSecret, cbitHash, rgbDigest, &cbDigest, CBOR_CONTEXT_PARAM_COMMA perr)) goto errorReturn;
 
 		if (!HKDF_Expand(pCose, cbitHash, rgbDigest, cbDigest, pbContext, cbContext, pbKey, cbitKey / 8, perr)) goto errorReturn;
+#else
+                goto errorReturn;
+#endif
 	}
 	else {
+#ifdef USE_HKDF_AES
 		if (!HKDF_AES_Expand(pCose, cbitHash, pbSecret, cbSecret, pbContext, cbContext, pbKey, cbitKey / 8, perr)) goto errorReturn;
+#else
+                goto errorReturn;
+#endif
 	}
 	fRet = true;
 
@@ -219,6 +232,7 @@
 	if (pbContext != NULL) COSE_FREE(pbContext, context);
 	return fRet;
 }
+#endif // defined(USE_HKDF_SHA2) || defined(USE_HKDF_AES)
 
 bool _COSE_Recipient_decrypt(COSE_RecipientInfo * pRecip, COSE_RecipientInfo * pRecipUse, int algIn, int cbitKeyOut, byte * pbKeyOut, cose_errback * perr)
 {
diff --git a/src/configure.h b/src/configure.h
index 811e7b5..1be4d3f 100644
--- a/src/configure.h
+++ b/src/configure.h
@@ -77,6 +77,10 @@
 #define USE_ECDH_ES_HKDF_512
 #define USE_ECDH_SS_HKDF_256
 #define USE_ECDH_SS_HKDF_512
+#if defined(USE_ECDH_ES_HKDF_256) || defined(USE_ECDH_ES_HKDF_512) || defined(USE_ECDH_SS_HKDF_256) || defined(USE_ECDH_SS_HKDF_512)
+#define USE_ECDH 1
+#define USE_HKDF_SHA2 1
+#endif
 #endif // !defined(USE_MBED_TLS)
 
 #if !defined(USE_MBED_TLS)
@@ -86,6 +90,10 @@
 #define USE_ECDH_SS_A128KW
 #define USE_ECDH_SS_A192KW
 #define USE_ECDH_SS_A256KW
+#if defined(USE_ECDH_ES_A128KW) || defined(USE_ECDH_ES_A192KW) || defined(USE_ECDH_ES_A256KW) || defined(USE_ECDH_SS_A128KW) || defined(USE_ECDH_SS_A192KW) || defined(USE_ECDH_SS_A256KW)
+#define USE_ECDH 1
+#define USE_HKDF_AES 1
+#endif
 #endif // !defined(USE_MBED_TLS)
 
 //
@@ -107,6 +115,12 @@
 #define USE_Direct_HKDF_HMAC_SHA_512
 #define USE_Direct_HKDF_AES_128
 #define USE_Direct_HKDF_AES_256
+#if defined(USE_Direct_HKDF_HMAC_SHA_256) || defined(USE_Direct_HKDF_HMAC_SHA_512)
+#define USE_HKDF_SHA2 1
+#endif
+#if defined(USE_Direct_HKDF_AES_128) || defined(USE_Direct_KDF_AES_256)
+#define USE_HKDF_AES 1
+#endif
 #endif // !defined(USE_MBED_TLS)
 
 
