diff --git a/openair-cn/COMMON/s6a_messages_types.h b/openair-cn/COMMON/s6a_messages_types.h
index 2b59bb8664e7760ecd55b6d41bf4c493755401b7..b505f6374b0b73bd46b901092f6c66638aeb297b 100644
--- a/openair-cn/COMMON/s6a_messages_types.h
+++ b/openair-cn/COMMON/s6a_messages_types.h
@@ -2,19 +2,19 @@
 #define S6A_MESSAGES_TYPES_H_
 
 typedef struct {
-#define SKIP_SUBSRIBER_DATA (0x1)
+#define SKIP_SUBSCRIBER_DATA (0x1)
     unsigned skip_subsriber_data:1;
-#define INITIAL_ATTACH      (0x1)
+#define INITIAL_ATTACH       (0x1)
     unsigned initial_attach:1;
 
-    char       imsi[IMSI_DIGITS_MAX];
+    char       imsi[IMSI_DIGITS_MAX + 1];
     uint8_t    imsi_length;
     plmn_t     visited_plmn;
     rat_type_t rat_type;
 } s6a_update_location_req_t;
 
 typedef struct {
-    char    imsi[IMSI_DIGITS_MAX];
+    char    imsi[IMSI_DIGITS_MAX + 1];
     uint8_t imsi_length;
 
     /* Result of the update location request procedure */
@@ -23,7 +23,7 @@ typedef struct {
 } s6a_update_location_ans_t;
 
 typedef struct {
-    char    imsi[IMSI_DIGITS_MAX];
+    char    imsi[IMSI_DIGITS_MAX + 1];
     uint8_t imsi_length;
     plmn_t  visited_plmn;
     /* Number of vectors to retrieve from HSS, should be equal to one */
@@ -31,7 +31,7 @@ typedef struct {
 } s6a_auth_info_req_t;
 
 typedef struct {
-    char       imsi[IMSI_DIGITS_MAX];
+    char       imsi[IMSI_DIGITS_MAX + 1];
     uint8_t    imsi_length;
 
     /* Result of the authentication information procedure */