diff --git a/sccp/SCCP_Tests_RAW.ttcn b/sccp/SCCP_Tests_RAW.ttcn
index 356fbb2..1ac82a2 100644
--- a/sccp/SCCP_Tests_RAW.ttcn
+++ b/sccp/SCCP_Tests_RAW.ttcn
@@ -312,7 +312,8 @@
 
 function f_scmg_xceive(SCCP_PAR_Address calling, SCCP_PAR_Address called,
 		       template (value) PDU_SCMG_message tx,
-		       template (omit) PDU_SCMG_message rx_exp) runs on SCCP_Test_RAW_CT
+		       template (omit) PDU_SCMG_message rx_exp,
+		       boolean accept_other_called_resp := false) runs on SCCP_Test_RAW_CT
 {
 	var boolean exp_something := true;
 	timer T := 5.0;
@@ -328,6 +329,9 @@
 	[exp_something] MTP3.receive(tr_SCCP_MTP3_TRANSFERind(tr_SCCP_UDT(called, calling, decmatch rx_exp))) {
 		setverdict(pass);
 		}
+	[exp_something and accept_other_called_resp] MTP3.receive(tr_SCCP_MTP3_TRANSFERind(tr_SCCP_UDT(called, ?, decmatch rx_exp))) {
+		setverdict(pass);
+		}
 	[] MTP3.receive(tr_SCCP_MTP3_TRANSFERind(tr_SCCP_UDT(called, calling, ?))) {
 		setverdict(fail, "Received unexpected SCCP waiting for ", rx_exp);
 		}
@@ -402,6 +406,22 @@
 	f_scmg_xceive(calling, called, tx, rx_exp);
 }
 
+/* Test CallingParty(only SSN) solicits response (OS#5146) */
+testcase TC_callingparty_ssn_only() runs on SCCP_Test_RAW_CT {
+	var SCCP_PAR_Address calling, called;
+	var template (value) PDU_SCMG_message tx;
+	var template (present) PDU_SCMG_message rx_exp;
+
+	f_init_raw(mp_sccp_cfg[0]);
+	f_sleep(1.0);
+
+	called := valueof(ts_SccpAddr_SSN(1));
+	calling := valueof(ts_SccpAddr_SSN(1));
+
+	tx := ts_SCMG_SST(1, mp_sccp_cfg[0].peer_pc);
+	rx_exp := ts_SCMG_SSA(1, mp_sccp_cfg[0].peer_pc);
+	f_scmg_xceive(calling, called, tx, rx_exp, accept_other_called_resp:=true);
+}
 
 
 control {
@@ -413,6 +433,8 @@
 	execute( TC_scmg_sst_ssn1() );
 	execute( TC_scmg_sst_ssn_valid() );
 	execute( TC_scmg_sst_ssn_invalid() );
+
+	execute( TC_callingparty_ssn_only() );
 }
 
 
