diff --git a/include/polarssl/dhm.h b/include/polarssl/dhm.h
index ebed106..0995867 100644
--- a/include/polarssl/dhm.h
+++ b/include/polarssl/dhm.h
@@ -1,17 +1,17 @@
 /**
  * \file dhm.h
  */
-#ifndef XYSSL_DHM_H
-#define XYSSL_DHM_H
+#ifndef POLARSSL_DHM_H
+#define POLARSSL_DHM_H
 
 #include "polarssl/bignum.h"
 
-#define XYSSL_ERR_DHM_BAD_INPUT_DATA                    -0x0480
-#define XYSSL_ERR_DHM_READ_PARAMS_FAILED                -0x0490
-#define XYSSL_ERR_DHM_MAKE_PARAMS_FAILED                -0x04A0
-#define XYSSL_ERR_DHM_READ_PUBLIC_FAILED                -0x04B0
-#define XYSSL_ERR_DHM_MAKE_PUBLIC_FAILED                -0x04C0
-#define XYSSL_ERR_DHM_CALC_SECRET_FAILED                -0x04D0
+#define POLARSSL_ERR_DHM_BAD_INPUT_DATA                    -0x0480
+#define POLARSSL_ERR_DHM_READ_PARAMS_FAILED                -0x0490
+#define POLARSSL_ERR_DHM_MAKE_PARAMS_FAILED                -0x04A0
+#define POLARSSL_ERR_DHM_READ_PUBLIC_FAILED                -0x04B0
+#define POLARSSL_ERR_DHM_MAKE_PUBLIC_FAILED                -0x04C0
+#define POLARSSL_ERR_DHM_CALC_SECRET_FAILED                -0x04D0
 
 typedef struct
 {
@@ -37,7 +37,7 @@
  * \param p        &(start of input buffer)
  * \param end      end of buffer
  *
- * \return         0 if successful, or an XYSSL_ERR_DHM_XXX error code
+ * \return         0 if successful, or an POLARSSL_ERR_DHM_XXX error code
  */
 int dhm_read_params( dhm_context *ctx,
                      unsigned char **p,
@@ -57,7 +57,7 @@
  *                 have already been properly set (for example
  *                 using mpi_read_string or mpi_read_binary).
  *
- * \return         0 if successful, or an XYSSL_ERR_DHM_XXX error code
+ * \return         0 if successful, or an POLARSSL_ERR_DHM_XXX error code
  */
 int dhm_make_params( dhm_context *ctx, int s_size,
                      unsigned char *output, int *olen,
@@ -70,7 +70,7 @@
  * \param input    input buffer
  * \param ilen     size of buffer
  *
- * \return         0 if successful, or an XYSSL_ERR_DHM_XXX error code
+ * \return         0 if successful, or an POLARSSL_ERR_DHM_XXX error code
  */
 int dhm_read_public( dhm_context *ctx,
                      unsigned char *input, int ilen );
@@ -85,7 +85,7 @@
  * \param f_rng    RNG function
  * \param p_rng    RNG parameter
  *
- * \return         0 if successful, or an XYSSL_ERR_DHM_XXX error code
+ * \return         0 if successful, or an POLARSSL_ERR_DHM_XXX error code
  */
 int dhm_make_public( dhm_context *ctx, int s_size,
                      unsigned char *output, int olen,
@@ -98,7 +98,7 @@
  * \param output   destination buffer
  * \param olen     number of chars written
  *
- * \return         0 if successful, or an XYSSL_ERR_DHM_XXX error code
+ * \return         0 if successful, or an POLARSSL_ERR_DHM_XXX error code
  */
 int dhm_calc_secret( dhm_context *ctx,
                      unsigned char *output, int *olen );
