diff --git a/library/cipher.c b/library/cipher.c
index f023364..826d8fc 100644
--- a/library/cipher.c
+++ b/library/cipher.c
@@ -326,7 +326,11 @@
     /*
      * Ignore possible errors caused by a cipher mode that doesn't use padding
      */
+#if defined(POLARSSL_CIPHER_PADDING_PKCS7)
     (void) cipher_set_padding_mode( ctx, POLARSSL_PADDING_PKCS7 );
+#else
+    (void) cipher_set_padding_mode( ctx, POLARSSL_PADDING_NONE );
+#endif
 
     return 0;
 }
@@ -526,6 +530,7 @@
     return POLARSSL_ERR_CIPHER_FEATURE_UNAVAILABLE;
 }
 
+#if defined(POLARSSL_CIPHER_PADDING_PKCS7)
 /*
  * PKCS7 (and PKCS5) padding: fill with ll bytes, with ll = padding_len
  */
@@ -560,7 +565,9 @@
 
     return 0;
 }
+#endif /* POLARSSL_CIPHER_PADDING_PKCS7 */
 
+#if defined(POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS)
 /*
  * One and zeros padding: fill with 80 00 ... 00
  */
@@ -593,7 +600,9 @@
 
     return 0;
 }
+#endif /* POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS */
 
+#if defined(POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN)
 /*
  * Zeros and len padding: fill with 00 ... 00 ll, where ll is padding length
  */
@@ -629,7 +638,9 @@
 
     return 0;
 }
+#endif /* POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN */
 
+#if defined(POLARSSL_CIPHER_PADDING_ZEROS)
 /*
  * Zero padding: fill with 00 ... 00
  */
@@ -656,6 +667,7 @@
 
     return 0;
 }
+#endif /* POLARSSL_CIPHER_PADDING_ZEROS */
 
 /*
  * No padding: don't pad :)
@@ -749,33 +761,37 @@
 
     switch( mode )
     {
+#if defined(POLARSSL_CIPHER_PADDING_PKCS7)
     case POLARSSL_PADDING_PKCS7:
         ctx->add_padding = add_pkcs_padding;
         ctx->get_padding = get_pkcs_padding;
         break;
-
+#endif
+#if defined(POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS)
     case POLARSSL_PADDING_ONE_AND_ZEROS:
         ctx->add_padding = add_one_and_zeros_padding;
         ctx->get_padding = get_one_and_zeros_padding;
         break;
-
+#endif
+#if defined(POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN)
     case POLARSSL_PADDING_ZEROS_AND_LEN:
         ctx->add_padding = add_zeros_and_len_padding;
         ctx->get_padding = get_zeros_and_len_padding;
         break;
-
+#endif
+#if defined(POLARSSL_CIPHER_PADDING_ZEROS)
     case POLARSSL_PADDING_ZEROS:
         ctx->add_padding = add_zeros_padding;
         ctx->get_padding = get_zeros_padding;
         break;
-
+#endif
     case POLARSSL_PADDING_NONE:
         ctx->add_padding = NULL;
         ctx->get_padding = get_no_padding;
         break;
 
     default:
-        return POLARSSL_ERR_CIPHER_BAD_INPUT_DATA;
+        return POLARSSL_ERR_CIPHER_FEATURE_UNAVAILABLE;
     }
 
     return 0;
