diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 0cc9552..ea73f4a 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -3514,6 +3514,51 @@
 	f_shutdown_helper();
 }
 
+/* Send paging response containing invalid (wrongly formatted) MobileIdentity IE. */
+testcase TC_paging_imsi_nochan_ci_resp_invalid_mi() runs on test_CT {
+	var template BSSMAP_FIELD_CellIdentificationList cid_list;
+	var BSSAP_N_CONNECT_ind rx_c_ind;
+	var DchanTuple dt;
+	var octetstring rr_pag_resp := '06270003535992617965720000'O;
+	/* { 06 27 } is { GSM48_PDISC_RR, GSM48_MT_RR_PAG_RESP }
+	* see 3GPP TS 44.018, table 9.1.25.1
+	* { 00 } or { 01 } is CKSN + Spare Half Octet, not important
+	* { 03 53 59 92 } is Mobile Station Classmark
+	* { 61 79 65 72 00 00 } is the invalid Mobile Identity IE (3GPP TS 24.008, 10.5.1.4),
+	* Length is 0x61 (97 in decimal).
+	*/
+
+	cid_list := { cIl_CI := { ts_BSSMAP_CI_CI(cid.ci) } };
+	f_pageing_helper('001010000000008'H, cid_list, { 0 });
+
+	/* Send CHAN RQD and wait for allocation; acknowledge it */
+	dt.rsl_chan_nr := f_chreq_act_ack();
+	dt.idx := {0, 0};
+
+	/* Send unsolicited Paging response (no matching Paging CMD stored in BSC) */
+	f_ipa_tx(ts_RSL_EST_IND(dt.rsl_chan_nr, valueof(ts_RslLinkID_DCCH(0)), rr_pag_resp));
+
+	/* Expevct a CR with a matching Paging response on the A-Interface */
+	timer T := 5.0;
+	T.start;
+	alt {
+	[] BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(rr_pag_resp))) -> value rx_c_ind {
+		setverdict(pass);
+		dt.sccp_conn_id := rx_c_ind.connectionId;
+		BSSAP.send(ts_BSSAP_CONNECT_res(dt.sccp_conn_id));
+		}
+	[] BSSAP.receive {
+		setverdict(fail, "Received unexpected message on A-Interface!");
+		}
+	[] T.timeout {
+		setverdict(fail, "Received nothing on A-Interface!");
+		}
+	}
+
+	f_perform_clear_test_ct(dt);
+	f_shutdown_helper();
+}
+
 /* Verify paging retransmission interval + count */
 /* Verify paging stops after channel establishment */
 /* Test behavior under paging overload */
@@ -12237,6 +12282,7 @@
 	execute( TC_paging_resp_unsol() );
 	execute( TC_paging_500req() );
 	execute( TC_paging_450req_no_paging_load_ind() );
+	execute( TC_paging_imsi_nochan_ci_resp_invalid_mi() );
 
 	execute( TC_rsl_drop_counter() );
 	execute( TC_rsl_unknown_unit_id() );
