diff --git a/include/polarssl/cipher.h b/include/polarssl/cipher.h
index 7ee17ab..13d714b 100644
--- a/include/polarssl/cipher.h
+++ b/include/polarssl/cipher.h
@@ -417,8 +417,10 @@
  * \param ctx           generic cipher context
  * \param mode          padding mode
  *
- * \returns             0 on success, POLARSSL_ERR_CIPHER_BAD_INPUT_DATA
- *                      if parameters verification fails.
+ * \returns             0 on success, POLARSSL_ERR_CIPHER_FEATURE_UNAVAILABLE
+ *                      if selected padding mode is not supported, or
+ *                      POLARSSL_ERR_CIPHER_BAD_INPUT_DATA if the cipher mode
+ *                      does not support padding.
  */
 int cipher_set_padding_mode( cipher_context_t *ctx, cipher_padding_t mode );
 
diff --git a/library/cipher.c b/library/cipher.c
index 70eef69..f023364 100644
--- a/library/cipher.c
+++ b/library/cipher.c
@@ -747,42 +747,38 @@
         return POLARSSL_ERR_CIPHER_BAD_INPUT_DATA;
     }
 
-    if( POLARSSL_PADDING_PKCS7 == mode )
+    switch( mode )
     {
+    case POLARSSL_PADDING_PKCS7:
         ctx->add_padding = add_pkcs_padding;
         ctx->get_padding = get_pkcs_padding;
-        return 0;
-    }
+        break;
 
-    if( POLARSSL_PADDING_ONE_AND_ZEROS == mode )
-    {
+    case POLARSSL_PADDING_ONE_AND_ZEROS:
         ctx->add_padding = add_one_and_zeros_padding;
         ctx->get_padding = get_one_and_zeros_padding;
-        return 0;
-    }
+        break;
 
-    if( POLARSSL_PADDING_ZEROS_AND_LEN == mode )
-    {
+    case POLARSSL_PADDING_ZEROS_AND_LEN:
         ctx->add_padding = add_zeros_and_len_padding;
         ctx->get_padding = get_zeros_and_len_padding;
-        return 0;
-    }
+        break;
 
-    if( POLARSSL_PADDING_ZEROS == mode )
-    {
+    case POLARSSL_PADDING_ZEROS:
         ctx->add_padding = add_zeros_padding;
         ctx->get_padding = get_zeros_padding;
-        return 0;
-    }
+        break;
 
-    if( POLARSSL_PADDING_NONE == mode )
-    {
+    case POLARSSL_PADDING_NONE:
         ctx->add_padding = NULL;
         ctx->get_padding = get_no_padding;
-        return 0;
+        break;
+
+    default:
+        return POLARSSL_ERR_CIPHER_BAD_INPUT_DATA;
     }
 
-    return POLARSSL_ERR_CIPHER_BAD_INPUT_DATA;
+    return 0;
 }
 
 #if defined(POLARSSL_SELF_TEST)
