diff --git a/library/psa_crypto_aead.c b/library/psa_crypto_aead.c
index 85d1f39..73d8b01 100644
--- a/library/psa_crypto_aead.c
+++ b/library/psa_crypto_aead.c
@@ -43,13 +43,13 @@
     psa_algorithm_t alg)
 {
     psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
-    size_t key_bits;
-    const mbedtls_cipher_info_t *cipher_info;
-    mbedtls_cipher_id_t cipher_id;
 
     (void) key_buffer_size;
 
-    key_bits = attributes->core.bits;
+#if defined(MBEDTLS_CIPHER_C)
+    const mbedtls_cipher_info_t *cipher_info;
+    mbedtls_cipher_id_t cipher_id;
+    size_t key_bits = attributes->core.bits;
 
     cipher_info = mbedtls_cipher_info_from_psa(alg,
                                                attributes->core.type, key_bits,
@@ -57,6 +57,7 @@
     if (cipher_info == NULL) {
         return PSA_ERROR_NOT_SUPPORTED;
     }
+#endif /* MBEDTLS_CIPHER_C */
 
     switch (PSA_ALG_AEAD_WITH_SHORTENED_TAG(alg, 0)) {
 #if defined(MBEDTLS_PSA_BUILTIN_ALG_CCM)
diff --git a/library/psa_crypto_cipher.c b/library/psa_crypto_cipher.c
index b997a07..c881d65 100644
--- a/library/psa_crypto_cipher.c
+++ b/library/psa_crypto_cipher.c
@@ -31,6 +31,7 @@
 
 #include <string.h>
 
+#if defined(MBEDTLS_CIPHER_C)
 const mbedtls_cipher_info_t *mbedtls_cipher_info_from_psa(
     psa_algorithm_t alg,
     psa_key_type_t key_type,
@@ -158,6 +159,7 @@
     return mbedtls_cipher_info_from_values(cipher_id_tmp,
                                            (int) key_bits, mode);
 }
+#endif /* MBEDTLS_CIPHER_C */
 
 #if defined(MBEDTLS_PSA_BUILTIN_CIPHER)
 
diff --git a/library/psa_crypto_cipher.h b/library/psa_crypto_cipher.h
index bf43ff0..933092d 100644
--- a/library/psa_crypto_cipher.h
+++ b/library/psa_crypto_cipher.h
@@ -24,6 +24,7 @@
 #include <mbedtls/cipher.h>
 #include <psa/crypto.h>
 
+#if defined(MBEDTLS_CIPHER_C)
 /** Get Mbed TLS cipher information given the cipher algorithm PSA identifier
  *  as well as the PSA type and size of the key to be used with the cipher
  *  algorithm.
@@ -39,6 +40,7 @@
 const mbedtls_cipher_info_t *mbedtls_cipher_info_from_psa(
     psa_algorithm_t alg, psa_key_type_t key_type, size_t key_bits,
     mbedtls_cipher_id_t *cipher_id);
+#endif /* MBEDTLS_CIPHER_C */
 
 /**
  * \brief Set the key for a multipart symmetric encryption operation.
