diff --git a/include/mbedtls/dhm.h b/include/mbedtls/dhm.h
index 57c8acb..a9185ec 100644
--- a/include/mbedtls/dhm.h
+++ b/include/mbedtls/dhm.h
@@ -95,27 +95,27 @@
  * the program programs/util/rfc_3526_7919_verify.
  */
 
-const char *mbedtls_dhm_rfc3526_modp_2048_p;
-const char *mbedtls_dhm_rfc3526_modp_2048_g;
-const char *mbedtls_dhm_rfc3526_modp_3072_p;
-const char *mbedtls_dhm_rfc3526_modp_3072_g;
-const char *mbedtls_dhm_rfc3526_modp_4096_p;
-const char *mbedtls_dhm_rfc3526_modp_4096_g;
+const char * const mbedtls_dhm_rfc3526_modp_2048_p;
+const char * const mbedtls_dhm_rfc3526_modp_2048_g;
+const char * const mbedtls_dhm_rfc3526_modp_3072_p;
+const char * const mbedtls_dhm_rfc3526_modp_3072_g;
+const char * const mbedtls_dhm_rfc3526_modp_4096_p;
+const char * const mbedtls_dhm_rfc3526_modp_4096_g;
 
-const char *mbedtls_dhm_rfc7919_ffdhe2048_p;
-const char *mbedtls_dhm_rfc7919_ffdhe2048_g;
-const char *mbedtls_dhm_rfc7919_ffdhe3072_p;
-const char *mbedtls_dhm_rfc7919_ffdhe3072_g;
-const char *mbedtls_dhm_rfc7919_ffdhe4096_p;
-const char *mbedtls_dhm_rfc7919_ffdhe4096_g;
-const char *mbedtls_dhm_rfc7919_ffdhe6144_p;
-const char *mbedtls_dhm_rfc7919_ffdhe6144_g;
-const char *mbedtls_dhm_rfc7919_ffdhe8192_p;
-const char *mbedtls_dhm_rfc7919_ffdhe8192_g;
+const char * const mbedtls_dhm_rfc7919_ffdhe2048_p;
+const char * const mbedtls_dhm_rfc7919_ffdhe2048_g;
+const char * const mbedtls_dhm_rfc7919_ffdhe3072_p;
+const char * const mbedtls_dhm_rfc7919_ffdhe3072_g;
+const char * const mbedtls_dhm_rfc7919_ffdhe4096_p;
+const char * const mbedtls_dhm_rfc7919_ffdhe4096_g;
+const char * const mbedtls_dhm_rfc7919_ffdhe6144_p;
+const char * const mbedtls_dhm_rfc7919_ffdhe6144_g;
+const char * const mbedtls_dhm_rfc7919_ffdhe8192_p;
+const char * const mbedtls_dhm_rfc7919_ffdhe8192_g;
 
 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
-MBEDTLS_DEPRECATED const char *mbedtls_dhm_rfc5114_modp_2048_p;
-MBEDTLS_DEPRECATED const char *mbedtls_dhm_rfc5114_modp_2048_g;
+MBEDTLS_DEPRECATED const char * const mbedtls_dhm_rfc5114_modp_2048_p;
+MBEDTLS_DEPRECATED const char * const mbedtls_dhm_rfc5114_modp_2048_g;
 #endif
 
 /**
diff --git a/library/dhm.c b/library/dhm.c
index e98148d..dbfb653 100644
--- a/library/dhm.c
+++ b/library/dhm.c
@@ -68,7 +68,7 @@
  *             They will be removed in the next major version.
  */
 
-const char * mbedtls_dhm_rfc5114_modp_2048_p =
+const char * const mbedtls_dhm_rfc5114_modp_2048_p =
     "AD107E1E9123A9D0D660FAA79559C51FA20D64E5683B9FD1"
     "B54B1597B61D0A75E6FA141DF95A56DBAF9A3C407BA1DF15"
     "EB3D688A309C180E1DE6B85A1274A0A66D3F8152AD6AC212"
@@ -80,7 +80,7 @@
     "BE60E69CC928B2B9C52172E413042E9B23F10B0E16E79763"
     "C9B53DCF4BA80A29E3FB73C16B8E75B97EF363E2FFA31F71"
     "CF9DE5384E71B81C0AC4DFFE0C10E64F";
-const char * mbedtls_dhm_rfc5114_modp_2048_g =
+const char * const mbedtls_dhm_rfc5114_modp_2048_g =
     "AC4032EF4F2D9AE39DF30B5C8FFDAC506CDEBE7B89998CAF"
     "74866A08CFE4FFE3A6824A4E10B9A6F0DD921F01A70C4AFA"
     "AB739D7700C29F52C57DB17C620A8652BE5E9001A8D66AD7"
@@ -97,7 +97,7 @@
  * Diffie-Hellman groups from RFC 3526
  */
 
-const char * mbedtls_dhm_rfc3526_modp_2048_p =
+const char * const mbedtls_dhm_rfc3526_modp_2048_p =
     "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1"
     "29024E088A67CC74020BBEA63B139B22514A08798E3404DD"
     "EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245"
@@ -109,9 +109,9 @@
     "E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9"
     "DE2BCBF6955817183995497CEA956AE515D2261898FA0510"
     "15728E5A8AACAA68FFFFFFFFFFFFFFFF";
-const char * mbedtls_dhm_rfc3526_modp_2048_g = "02";
+const char * const mbedtls_dhm_rfc3526_modp_2048_g = "02";
 
-const char * mbedtls_dhm_rfc3526_modp_3072_p =
+const char * const mbedtls_dhm_rfc3526_modp_3072_p =
     "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1"
     "29024E088A67CC74020BBEA63B139B22514A08798E3404DD"
     "EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245"
@@ -128,9 +128,9 @@
     "F12FFA06D98A0864D87602733EC86A64521F2B18177B200C"
     "BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31"
     "43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF";
-const char * mbedtls_dhm_rfc3526_modp_3072_g = "02";
+const char * const mbedtls_dhm_rfc3526_modp_3072_g = "02";
 
-const char * mbedtls_dhm_rfc3526_modp_4096_p =
+const char * const mbedtls_dhm_rfc3526_modp_4096_p =
     "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1"
     "29024E088A67CC74020BBEA63B139B22514A08798E3404DD"
     "EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245"
@@ -153,13 +153,13 @@
     "1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA9"
     "93B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934063199"
     "FFFFFFFFFFFFFFFF";
-const char * mbedtls_dhm_rfc3526_modp_4096_g = "02";
+const char * const mbedtls_dhm_rfc3526_modp_4096_g = "02";
 
 /*
  * Diffie-Hellman groups from RFC 7919
  */
 
-const char * mbedtls_dhm_rfc7919_ffdhe2048_p =
+const char * const mbedtls_dhm_rfc7919_ffdhe2048_p =
     "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1"
     "D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF9"
     "7D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD6561"
@@ -171,9 +171,9 @@
     "9172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD73"
     "3BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA"
     "886B423861285C97FFFFFFFFFFFFFFFF";
-const char * mbedtls_dhm_rfc7919_ffdhe2048_g = "02";
+const char * const mbedtls_dhm_rfc7919_ffdhe2048_g = "02";
 
-const char * mbedtls_dhm_rfc7919_ffdhe3072_p =
+const char * const mbedtls_dhm_rfc7919_ffdhe3072_p =
     "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1"
     "D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF9"
     "7D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD6561"
@@ -190,9 +190,9 @@
     "64F2E21E71F54BFF5CAE82AB9C9DF69EE86D2BC522363A0D"
     "ABC521979B0DEADA1DBF9A42D5C4484E0ABCD06BFA53DDEF"
     "3C1B20EE3FD59D7C25E41D2B66C62E37FFFFFFFFFFFFFFFF";
-const char * mbedtls_dhm_rfc7919_ffdhe3072_g = "02";
+const char * const mbedtls_dhm_rfc7919_ffdhe3072_g = "02";
 
-const char * mbedtls_dhm_rfc7919_ffdhe4096_p =
+const char * const mbedtls_dhm_rfc7919_ffdhe4096_p =
     "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1"
     "D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF9"
     "7D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD6561"
@@ -215,9 +215,9 @@
     "1A1DB93D7140003C2A4ECEA9F98D0ACC0A8291CDCEC97DCF"
     "8EC9B55A7F88A46B4DB5A851F44182E1C68A007E5E655F6A"
     "FFFFFFFFFFFFFFFF";
-const char * mbedtls_dhm_rfc7919_ffdhe4096_g = "02";
+const char * const mbedtls_dhm_rfc7919_ffdhe4096_g = "02";
 
-const char * mbedtls_dhm_rfc7919_ffdhe6144_p =
+const char * const mbedtls_dhm_rfc7919_ffdhe6144_p =
     "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1"
     "D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF9"
     "7D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD6561"
@@ -250,9 +250,9 @@
     "E49F5235C95B91178CCF2DD5CACEF403EC9D1810C6272B04"
     "5B3B71F9DC6B80D63FDD4A8E9ADB1E6962A69526D43161C1"
     "A41D570D7938DAD4A40E329CD0E40E65FFFFFFFFFFFFFFFF";
-const char * mbedtls_dhm_rfc7919_ffdhe6144_g = "02";
+const char * const mbedtls_dhm_rfc7919_ffdhe6144_g = "02";
 
-const char * mbedtls_dhm_rfc7919_ffdhe8192_p =
+const char * const mbedtls_dhm_rfc7919_ffdhe8192_p =
     "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1"
     "D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF9"
     "7D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD6561"
@@ -297,7 +297,7 @@
     "97D11D49F7A8443D0822E506A9F4614E011E2A94838FF88C"
     "D68C8BB7C5C6424CFFFFFFFF"
     "FFFFFFFF";
-const char * mbedtls_dhm_rfc7919_ffdhe8192_g = "02";
+const char * const mbedtls_dhm_rfc7919_ffdhe8192_g = "02";
 
 
 /* Implementation that should never be optimized out by the compiler */
