diff --git a/ChangeLog b/ChangeLog
index 81abd5b..82c9a88 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,7 +6,8 @@
   * Support for DTLS 1.0 and 1.2 (RFC 6347).
 
 API Changes
-   * md_init_ctx() gained a new argument for optional hmac usage
+   * md_init_ctx() is deprecated in favour of md_setup(), that adds a third
+     argument (allowing memory savings if HMAC is not used)
    * Removed individual mdX_hmac and shaX_hmac functions (use generic
      md_hmac functions from md.h)
    * Change md_info_t into an opaque structure (use md_get_xxx() accessors).
diff --git a/include/mbedtls/md.h b/include/mbedtls/md.h
index c750d6a..db85701 100644
--- a/include/mbedtls/md.h
+++ b/include/mbedtls/md.h
@@ -125,6 +125,31 @@
  */
 void md_free( md_context_t *ctx );
 
+#if ! defined(POLARSSL_DEPRECATED_REMOVED)
+#if defined(POLARSSL_DEPRECATED_WARNING)
+#define DEPRECATED    __attribute__((deprecated))
+#else
+#define DEPRECATED
+#endif
+/**
+ * \brief          Initialises and fills the message digest context structure
+ *                 with the appropriate values.
+ *
+ * \deprecated     Superseded by md_setup() in 2.0.0
+ *
+ * \param ctx      context to initialise. May not be NULL. The
+ *                 digest-specific context (ctx->md_ctx) must be NULL. It will
+ *                 be allocated, and must be freed using md_free() later.
+ * \param md_info  message digest to use.
+ *
+ * \returns        \c 0 on success, \c POLARSSL_ERR_MD_BAD_INPUT_DATA on
+ *                 parameter failure, \c POLARSSL_ERR_MD_ALLOC_FAILED if
+ *                 allocation of the digest-specific context failed.
+ */
+int md_init_ctx( md_context_t *ctx, const md_info_t *md_info ) DEPRECATED;
+#undef DEPRECATED
+#endif /* POLARSSL_DEPRECATED_REMOVED */
+
 /**
  * \brief          Initialises and fills the message digest context structure
  *                 with the appropriate values.
diff --git a/library/md.c b/library/md.c
index fab9dea..74038ae 100644
--- a/library/md.c
+++ b/library/md.c
@@ -199,7 +199,14 @@
     polarssl_zeroize( ctx, sizeof( md_context_t ) );
 }
 
-int md_setup( md_context_t *ctx, const md_info_t *md_info, int hmac  )
+#if ! defined(POLARSSL_DEPRECATED_REMOVED)
+int md_init_ctx( md_context_t *ctx, const md_info_t *md_info )
+{
+    return md_setup( ctx, md_info, 1 );
+}
+#endif
+
+int md_setup( md_context_t *ctx, const md_info_t *md_info, int hmac )
 {
     if( md_info == NULL || ctx == NULL )
         return( POLARSSL_ERR_MD_BAD_INPUT_DATA );
