diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
index 32838bf024c235f50a51d990bb9eb33c44878ed2..7da31f4eab1b6b26e5feac36b512942a232ca97e 100644
--- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c
+++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
@@ -444,9 +444,15 @@ uint8_t do_SIB1(uint8_t Mod_id, LTE_DL_FRAME_PARMS *frame_parms, uint8_t *buffer
       dummy_mnc[1] = (configuration->mnc / 10) % 10;
       dummy_mnc[2] = (configuration->mnc / 1) % 10;
   } else {
-    dummy_mnc[0] = (configuration->mnc / 10) % 10;
-    dummy_mnc[1] = (configuration->mnc / 1) % 10;
-    dummy_mnc[2] = 0xf;
+      if (configuration->mnc_digit_length == 2) {
+        dummy_mnc[0] = (configuration->mnc / 10) % 10;
+        dummy_mnc[1] = (configuration->mnc / 1) % 10;
+        dummy_mnc[2] = 0xf;
+      } else {
+          dummy_mnc[0] = (configuration->mnc / 100) % 100;
+          dummy_mnc[1] = (configuration->mnc / 10) % 10;
+          dummy_mnc[2] = (configuration->mnc / 1) % 10;
+      }
   }
 #else
   dummy_mnc[0] = 0;