diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 202bce7..ef626bf 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -2098,6 +2098,62 @@
 	f_vty_config(MSCVTY, "msc", "no sms-over-gsup");
 }
 
+/* Test MO-SMMA from MS/BTS/BSC towards HLR (via GSUP) */
+private function f_tc_gsup_mo_smma(charstring id, BSC_ConnHdlrPars pars)
+runs on BSC_ConnHdlr {
+	var SmsParameters spars := valueof(t_SmsPars);
+	var GSUP_PDU gsup_msg_rx;
+
+	f_init_handler(pars);
+
+	/* We need to inspect GSUP activity */
+	f_create_gsup_expect(hex2str(g_pars.imsi));
+
+	/* Perform location update */
+	f_perform_lu();
+
+	/* Send CM Service Request for SMS */
+	f_establish_fully(EST_TYPE_MO_SMS);
+
+	var template GSUP_PDU mo_ReadyForSM := tr_GSUP_MO_READY_FOR_SM_REQ(
+		imsi := g_pars.imsi,
+		sm_rp_mr := spars.rp.msg_ref,
+		sm_alert_rsn := GSUP_SM_ALERT_RSN_TYPE_MEM_AVAIL
+	);
+
+	/* Submit an SMS on DTAP and expect MO-forwardSM-Req on GSUP */
+	f_mo_smma(spars);
+	alt {
+	[] GSUP.receive(mo_ReadyForSM) -> value gsup_msg_rx {
+		log("RX MO-ReadyForSM-Req");
+		log(gsup_msg_rx);
+		setverdict(pass);
+		}
+	[] GSUP.receive {
+		log("RX unexpected GSUP message");
+		setverdict(fail);
+		mtc.stop;
+		}
+	}
+
+	/* Trigger RP-ACK by sending MO-forwardSM-Res */
+	GSUP.send(valueof(ts_GSUP_MO_READY_FOR_SM_RES(
+		imsi := g_pars.imsi,
+		sm_rp_mr := spars.rp.msg_ref)));
+	/* Expect RP-ACK on DTAP */
+	f_mo_sms_wait_rp_ack(spars);
+
+	f_expect_clear();
+}
+testcase TC_gsup_mo_smma() runs on MTC_CT {
+	var BSC_ConnHdlr vc_conn;
+	f_init();
+	f_vty_config(MSCVTY, "msc", "sms-over-gsup");
+	vc_conn := f_start_handler(refers(f_tc_gsup_mo_smma), 89);
+	vc_conn.done;
+	f_vty_config(MSCVTY, "msc", "no sms-over-gsup");
+}
+
 /* convert GSM L3 TON to SMPP_TON enum */
 function f_sm_ton_from_gsm(BIT3 ton) return SMPP_TON {
 	select (ton) {
@@ -2984,6 +3040,7 @@
 	execute( TC_smpp_mt_sms() );
 
 	execute( TC_gsup_mo_sms() );
+	execute( TC_gsup_mo_smma() );
 
 	execute( TC_lu_and_mo_ussd_single_request() );
 	execute( TC_lu_and_mt_ussd_notification() );
