diff --git a/include/polarssl/cipher.h b/include/polarssl/cipher.h
index 977cc97..6773f61 100644
--- a/include/polarssl/cipher.h
+++ b/include/polarssl/cipher.h
@@ -376,7 +376,7 @@
  * \brief               Free the cipher-specific context of ctx. Freeing ctx
  *                      itself remains the responsibility of the caller.
  *
- * \note                Deprecated: Redirects to cipher_free()
+ * \deprecated          Use cipher_free() instead
  *
  * \param ctx           Free the cipher-specific context
  *
diff --git a/include/polarssl/config.h b/include/polarssl/config.h
index 7f93140..a811f8b 100644
--- a/include/polarssl/config.h
+++ b/include/polarssl/config.h
@@ -1695,7 +1695,9 @@
 
 /**
  * \def POLARSSL_MEMORY_C
- * Deprecated since 1.3.5. Please use POLARSSL_PLATFORM_MEMORY instead.
+ *
+ * \deprecated Use POLARSSL_PLATFORM_MEMORY instead.
+ *
  * Depends on: POLARSSL_PLATFORM_C
  */
 //#define POLARSSL_MEMORY_C
@@ -1768,7 +1770,8 @@
  * \def POLARSSL_PBKDF2_C
  *
  * Enable PKCS#5 PBKDF2 key derivation function.
- * DEPRECATED: Use POLARSSL_PKCS5_C instead
+ *
+ * \deprecated Use POLARSSL_PKCS5_C instead
  *
  * Module:  library/pbkdf2.c
  *
diff --git a/include/polarssl/md.h b/include/polarssl/md.h
index 3472f80..95da80b 100644
--- a/include/polarssl/md.h
+++ b/include/polarssl/md.h
@@ -204,7 +204,7 @@
  * \brief          Free the message-specific context of ctx. Freeing ctx itself
  *                 remains the responsibility of the caller.
  *
- * \note           Deprecated: Redirects to md_free()
+ * \deprecated     Use md_free() instead
  *
  * \param ctx      Free the message-specific context
  *
diff --git a/include/polarssl/memory.h b/include/polarssl/memory.h
index 9b2daef..8312beb 100644
--- a/include/polarssl/memory.h
+++ b/include/polarssl/memory.h
@@ -1,7 +1,9 @@
 /**
  * \file memory.h
  *
- * \brief Memory allocation layer (Deprecated to platform layer)
+ * \brief Memory allocation layer
+ *
+ * \deprecated Use the platform layer instead
  *
  *  Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
  *
@@ -35,6 +37,11 @@
 #include "platform.h"
 #include "memory_buffer_alloc.h"
 
+/**
+ * \brief   Set malloc() / free() callback
+ *
+ * \deprecated Use platform_set_malloc_free instead
+ */
 int memory_set_own( void * (*malloc_func)( size_t ),
                     void (*free_func)( void * ) )
 {
diff --git a/include/polarssl/pbkdf2.h b/include/polarssl/pbkdf2.h
index 5c06bfb..e842c83 100644
--- a/include/polarssl/pbkdf2.h
+++ b/include/polarssl/pbkdf2.h
@@ -2,7 +2,8 @@
  * \file pbkdf2.h
  *
  * \brief Password-Based Key Derivation Function 2 (from PKCS#5)
- *        DEPRECATED: use pkcs5.h instead.
+ *
+ * \deprecated Use pkcs5.h instead.
  *
  * \author Mathias Olsson <mathias@kompetensum.com>
  *
@@ -46,7 +47,8 @@
 
 /**
  * \brief          PKCS#5 PBKDF2 using HMAC
- *                 DEPRECATED: Use pkcs5_pbkdf2_hmac() instead!
+ *
+ * \deprecated     Use pkcs5_pbkdf2_hmac() instead
  *
  * \param ctx      Generic HMAC context
  * \param password Password to use when generating key
@@ -66,7 +68,8 @@
 
 /**
  * \brief          Checkup routine
- *                 DEPRECATED: Use pkcs5_self_test() instead!
+ *
+ * \deprecated     Use pkcs5_self_test() instead
  *
  * \return         0 if successful, or 1 if the test failed
  */
diff --git a/include/polarssl/platform.h b/include/polarssl/platform.h
index 76e61bb..32d1c9f 100644
--- a/include/polarssl/platform.h
+++ b/include/polarssl/platform.h
@@ -30,7 +30,7 @@
 #include POLARSSL_CONFIG_FILE
 #endif
 
-/* Temporary compability hack for to keep the deprecated MEMORY_C working */
+/* Temporary compability hack for to keep MEMORY_C working */
 #if defined(POLARSSL_MEMORY_C) && !defined(POLARSSL_PLATFORM_MEMORY)
 #define POLARSSL_PLATFORM_MEMORY
 #endif
diff --git a/include/polarssl/ssl.h b/include/polarssl/ssl.h
index 921680e..8e82137 100644
--- a/include/polarssl/ssl.h
+++ b/include/polarssl/ssl.h
@@ -1221,8 +1221,7 @@
  *                 up your certificate chain. The top certificate (self-signed)
  *                 can be omitted.
  *
- * \warning        This backwards-compatibility function is deprecated!
- *                 Please use \c ssl_set_own_cert() instead.
+ * \deprecated     Please use \c ssl_set_own_cert() instead.
  *
  * \param ssl      SSL context
  * \param own_cert own public certificate chain
@@ -1246,8 +1245,7 @@
  *                 up your certificate chain. The top certificate (self-signed)
  *                 can be omitted.
  *
- * \warning        This backwards-compatibility function is deprecated!
- *                 Please use \c pk_init_ctx_rsa_alt()
+ * \deprecated     Please use \c pk_init_ctx_rsa_alt()
  *                 and \c ssl_set_own_cert() instead.
  *
  * \param ssl      SSL context
diff --git a/include/polarssl/x509.h b/include/polarssl/x509.h
index 268121d..9dda082 100644
--- a/include/polarssl/x509.h
+++ b/include/polarssl/x509.h
@@ -227,8 +227,10 @@
 
 /**
  * \brief          Give an known OID, return its descriptive string.
- *                 (Deprecated. Use oid_get_extended_key_usage() instead.)
- *                 Warning: only works for extended_key_usage OIDs!
+ *
+ * \deprecated     Use oid_get_extended_key_usage() instead.
+ *
+ * \warning        Only works for extended_key_usage OIDs!
  *
  * \param oid      buffer containing the oid
  *
@@ -239,7 +241,8 @@
 
 /**
  * \brief          Give an OID, return a string version of its OID number.
- *                 (Deprecated. Use oid_get_numeric_string() instead)
+ *
+ * \deprecated     Use oid_get_numeric_string() instead.
  *
  * \param buf      Buffer to write to
  * \param size     Maximum size of buffer
