diff --git a/library/cipher.c b/library/cipher.c
index e5598de..0619991 100644
--- a/library/cipher.c
+++ b/library/cipher.c
@@ -759,7 +759,7 @@
         size_t mask = mbedtls_ct_size_mask_ge(i, pad_idx);
         bad |= (input[i] ^ padding_len) & mask;
     }
-    return (int) mbedtls_ct_uint_if(bad, MBEDTLS_ERR_CIPHER_INVALID_PADDING, 0);
+    return -mbedtls_ct_uint_if(bad, -MBEDTLS_ERR_CIPHER_INVALID_PADDING, 0);
 }
 #endif /* MBEDTLS_CIPHER_PADDING_PKCS7 */
 
@@ -804,7 +804,7 @@
         in_padding = in_padding & ~is_nonzero;
     }
 
-    return (int) mbedtls_ct_uint_if(bad, MBEDTLS_ERR_CIPHER_INVALID_PADDING, 0);
+    return -mbedtls_ct_uint_if(bad, -MBEDTLS_ERR_CIPHER_INVALID_PADDING, 0);
 }
 #endif /* MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS */
 
@@ -848,7 +848,7 @@
         bad |= input[i] & mask;
     }
 
-    return (int) mbedtls_ct_uint_if(bad, MBEDTLS_ERR_CIPHER_INVALID_PADDING, 0);
+    return -mbedtls_ct_uint_if(bad, -MBEDTLS_ERR_CIPHER_INVALID_PADDING, 0);
 }
 #endif /* MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN */
 
diff --git a/library/nist_kw.c b/library/nist_kw.c
index c7fb093..f2fd82e 100644
--- a/library/nist_kw.c
+++ b/library/nist_kw.c
@@ -421,7 +421,7 @@
          * larger than 8, because of the type wrap around.
          */
         padlen = in_len - KW_SEMIBLOCK_LENGTH - Plen;
-        ret = (int) mbedtls_ct_uint_if(padlen & ~7, MBEDTLS_ERR_CIPHER_AUTH_FAILED, ret);
+        ret = -mbedtls_ct_uint_if(padlen & ~7, -MBEDTLS_ERR_CIPHER_AUTH_FAILED, -ret);
         padlen &= 7;
 
         /* Check padding in "constant-time" */
