diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn
index 15560c7..a8134eb 100644
--- a/library/GSUP_Types.ttcn
+++ b/library/GSUP_Types.ttcn
@@ -138,6 +138,26 @@
 external function dec_GSUP_PDU(in octetstring msg) return GSUP_PDU
 	with { extension "prototype(convert) decode(RAW)" };
 
+function f_gsup_postprocess_decoded(inout GSUP_PDU gsup) {
+	if (gsup.ies[0].tag == OSMO_GSUP_IMSI_IE) {
+		/* if last digit is 'F', then there's an odd number of digits and we must strip the F */
+		var integer num_digits := lengthof(gsup.ies[0].val.imsi);
+		if (gsup.ies[0].val.imsi[num_digits-1] == 'F'H) {
+			gsup.ies[0].val.imsi := substr(gsup.ies[0].val.imsi, 0, num_digits-1);
+		}
+	}
+}
+
+function f_gsup_preprocess_encoded(inout GSUP_PDU gsup) {
+	if (ischosen(gsup.ies[0].val.imsi)) {
+		/* if number of digits is odd, add a 'F' as padding at the end */
+		var integer num_digits := lengthof(gsup.ies[0].val.imsi);
+		if (num_digits rem 2 == 1) {
+			gsup.ies[0].val.imsi := gsup.ies[0].val.imsi & 'F'H;
+		}
+	}
+}
+
 
 template GSUP_IE ts_GSUP_IE_AuthTuple2G(octetstring rand, octetstring sres,
 				        octetstring kc) := {
diff --git a/library/IPA_Emulation.ttcn b/library/IPA_Emulation.ttcn
index b40818f..b3e28e9 100644
--- a/library/IPA_Emulation.ttcn
+++ b/library/IPA_Emulation.ttcn
@@ -370,7 +370,9 @@
 }
 
 private function f_gsup_to_user(octetstring msg) runs on IPA_Emulation_CT {
-	IPA_GSUP_PORT.send(dec_GSUP_PDU(msg));
+	var GSUP_PDU gsup := dec_GSUP_PDU(msg);
+	f_gsup_postprocess_decoded(gsup);
+	IPA_GSUP_PORT.send(gsup);
 }
 
 private function f_mgcp_to_ud(octetstring payload) runs on IPA_Emulation_CT return ASP_IPA_Unitdata {
@@ -480,6 +482,7 @@
 		}
 
 		[] IPA_GSUP_PORT.receive(GSUP_PDU:?) -> value gsup_msg {
+			f_gsup_preprocess_encoded(gsup_msg);
 			payload := enc_GSUP_PDU(gsup_msg);
 			ipa_ud := valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_GSUP));
 			IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud));
