diff --git a/library/aes.c b/library/aes.c
index 7a364a0..6ff39d7 100644
--- a/library/aes.c
+++ b/library/aes.c
@@ -56,6 +56,12 @@
 
 #if !defined(MBEDTLS_AES_ALT)
 
+/* Parameter validation macros based on platform_util.h */
+#define AES_VALIDATE_RET( cond )    \
+    MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_AES_BAD_INPUT_DATA)
+#define AES_VALIDATE( cond )        \
+    MBEDTLS_INTERNAL_VALIDATE( cond )
+
 /*
  * 32-bit integer manipulation macros (little endian)
  */
@@ -511,7 +517,7 @@
 
 void mbedtls_aes_init( mbedtls_aes_context *ctx )
 {
-    MBEDTLS_AES_VALIDATE( ctx != NULL );
+    AES_VALIDATE( ctx != NULL );
 
     memset( ctx, 0, sizeof( mbedtls_aes_context ) );
 }
@@ -527,7 +533,7 @@
 #if defined(MBEDTLS_CIPHER_MODE_XTS)
 void mbedtls_aes_xts_init( mbedtls_aes_xts_context *ctx )
 {
-    MBEDTLS_AES_VALIDATE( ctx != NULL );
+    AES_VALIDATE( ctx != NULL );
 
     mbedtls_aes_init( &ctx->crypt );
     mbedtls_aes_init( &ctx->tweak );
@@ -535,7 +541,7 @@
 
 void mbedtls_aes_xts_free( mbedtls_aes_xts_context *ctx )
 {
-    MBEDTLS_AES_VALIDATE( ctx != NULL );
+    AES_VALIDATE( ctx != NULL );
 
     mbedtls_aes_free( &ctx->crypt );
     mbedtls_aes_free( &ctx->tweak );
@@ -552,7 +558,7 @@
     unsigned int i;
     uint32_t *RK;
 
-    MBEDTLS_AES_VALIDATE_RET( ctx != NULL && key != NULL );
+    AES_VALIDATE_RET( ctx != NULL && key != NULL );
 
     switch( keybits )
     {
@@ -670,7 +676,7 @@
     uint32_t *RK;
     uint32_t *SK;
 
-    MBEDTLS_AES_VALIDATE_RET( ctx != NULL && key != NULL );
+    AES_VALIDATE_RET( ctx != NULL && key != NULL );
 
     mbedtls_aes_init( &cty );
 
