diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn
index c8c6712..e00bd8b 100644
--- a/hlr/HLR_Tests.ttcn
+++ b/hlr/HLR_Tests.ttcn
@@ -1758,6 +1758,47 @@
 	vc_conn.done;
 }
 
+/* Ask proxy HLR about gsup.hlr service, and expect no answer. */
+private function f_TC_MSLookup_mDNS_service_GSUP_HLR_proxy() runs on HLR_ConnHdlr {
+	timer T;
+	var integer id := f_rnd_int(65535); /* mDNS packet ID */
+	var charstring domain := "gsup.hlr." & hex2str(g_pars.sub.imsi) & ".imsi.mdns.osmocom.org";
+
+	f_perform_UL_proxy(g_pars.sub.imsi, g_pars.sub.msisdn, OSMO_GSUP_CN_DOMAIN_CS);
+
+	/* Send mDNS query, expect timeout */
+	mDNS.send(ts_MSLookup_mDNS_query(id, domain));
+	T.start(1.0);
+	alt {
+	[] mDNS.receive(tr_MSLookup_mDNS_result_IPv4(id, domain, f_enc_IPv4(mp_hlr_ip), mp_hlr_gsup_port)) {
+		setverdict(fail, "mslookup result received from proxy HLR for gsup.hlr service");
+		}
+	[] mDNS.receive(MSLookup_mDNS:?) {
+		repeat;
+		}
+	[] T.timeout {
+		setverdict(pass);
+		}
+	}
+}
+testcase TC_MSLookup_mDNS_service_GSUP_HLR_proxy() runs on test_CT {
+	var hexstring imsi := f_rnd_imsi('26242'H);
+	var hexstring msisdn := '49161'H & f_rnd_hexstring(7, 9);
+	var HLR_ConnHdlr vc_conn;
+	var HLR_ConnHdlrPars pars := valueof(t_Pars(imsi, msisdn));
+
+	f_init(false, true);
+	f_vty_config(VTY, "mslookup", "mdns bind");
+	vc_conn := f_start_handler(refers(f_TC_MSLookup_mDNS_service_GSUP_HLR_proxy), pars, true);
+
+	timer T := 3.0;
+	T.start;
+	alt {
+	[] vc_conn.done {}
+	[] T.timeout { setverdict(fail, "Timeout"); mtc.stop; };
+	}
+}
+
 /* TODO:
   * UL with ISD error
   * UL with ISD timeout
@@ -1808,6 +1849,7 @@
 		execute( TC_MSLookup_mDNS_service_other_home() );
 		execute( TC_MSLookup_GSUP_proxy() );
 		execute( TC_MSLookup_mDNS_service_GSUP_HLR_home() );
+		execute( TC_MSLookup_mDNS_service_GSUP_HLR_proxy() );
 	}
 };
 
