diff --git a/stp/STP_Tests.ttcn b/stp/STP_Tests.ttcn
index 990518c..004af05 100644
--- a/stp/STP_Tests.ttcn
+++ b/stp/STP_Tests.ttcn
@@ -120,6 +120,42 @@
 	f_clear_m3ua();
 }
 
+/* test routing an SCCP message from IPA ASP to M3UA ASP using national network indicator */
+testcase TC_ipa_to_m3ua_ni() runs on IPA_M3UA_CT {
+	var OCT4 pc_sender := int2oct(5, 4);
+	var OCT4 rctx_receiver := int2oct(1023, 4);
+	var OCT4 pc_receiver := int2oct(23, 4);
+
+	f_init_common();
+	f_vty_config2(VTY, {"cs7 instance 0", "as ipa-as-dynamic-asp ipa"},
+		      "point-code override patch-sccp disabled");
+
+	f_init_m3ua();
+	f_init_ipa();
+
+	f_connect_ipa(3);
+	f_M3UA_asp_up_act(0, omit, omit); // TODO: rctx
+
+	/* send a well-formed, encoded SCCP message via IPA */
+	var octetstring data := f_rnd_octstring(f_rnd_int(100));
+	var SCCP_PAR_Address called := valueof(ts_SccpAddr_GT('1234'H));
+	var SCCP_PAR_Address calling := valueof(ts_SccpAddr_GT('5678'H));
+	var PDU_SCCP sccp := valueof(ts_SCCP_UDT(called, calling, data));
+	var octetstring sccp_enc := enc_PDU_SCCP(sccp);
+	f_vty_config2(VTY, {"cs7 instance 0"}, "network-indicator national");
+	f_IPA_send(3, sccp_enc);
+	f_vty_config2(VTY, {"cs7 instance 0"}, "network-indicator international");
+
+	/* expect to receive it via M3UA */
+	var template (present) M3UA_Protocol_Data rx_pd;
+	rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, c_M3UA_SI_SCCP, c_M3UA_NI_NATIONAL,
+					'00'O, '00'O, sccp_enc);
+	f_M3UA_exp(0, tr_M3UA_DATA(rctx_receiver, rx_pd));
+
+	f_clear_m3ua();
+}
+
+
 /* test routing an SCCP message from IPA ASP to M3UA ASP while patching PC into SCCP addresses */
 testcase TC_ipa_to_m3ua_patch_sccp() runs on IPA_M3UA_CT {
 	var OCT4 pc_sender := int2oct(5, 4);
@@ -163,6 +199,7 @@
 	/* M3UA <-> IPA Tests */
 	execute( TC_m3ua_to_ipa() );
 	execute( TC_ipa_to_m3ua() );
+	execute( TC_ipa_to_m3ua_ni() );
 	execute( TC_ipa_to_m3ua_patch_sccp() );
 }
 
