diff --git a/openbsc/src/gsm_04_80.c b/openbsc/src/gsm_04_80.c
index 7d6679b..e5f05f3 100644
--- a/openbsc/src/gsm_04_80.c
+++ b/openbsc/src/gsm_04_80.c
@@ -246,8 +246,9 @@
 }
 
 /* Send response to a mobile-originated ProcessUnstructuredSS-Request */
-int gsm0480_send_ussd_response(const struct msgb *in_msg, const char *response_text,
-						const struct ussd_request *req)
+int gsm0480_send_ussd_response(struct gsm_subscriber_connection *conn,
+			       const struct msgb *in_msg, const char *response_text,
+			       const struct ussd_request *req)
 {
 	struct msgb *msg = gsm48_msgb_alloc();
 	struct gsm48_hdr *gh;
@@ -258,8 +259,6 @@
 	if (((strlen(response_text) * 7) % 8) != 0)
 		response_len += 1;
 
-	msg->lchan = in_msg->lchan;
-
 	/* First put the payload text into the message */
 	ptr8 = msgb_put(msg, response_len);
 	gsm_7bit_encode(ptr8, response_text);
@@ -295,17 +294,16 @@
 					| (1<<7);  /* TI direction = 1 */
 	gh->msg_type = GSM0480_MTYPE_RELEASE_COMPLETE;
 
-	return gsm0808_submit_dtap(&msg->lchan->conn, msg, 0);
+	return gsm0808_submit_dtap(conn, msg, 0);
 }
 
-int gsm0480_send_ussd_reject(const struct msgb *in_msg,
-				const struct ussd_request *req)
+int gsm0480_send_ussd_reject(struct gsm_subscriber_connection *conn,
+			     const struct msgb *in_msg,
+			     const struct ussd_request *req)
 {
 	struct msgb *msg = gsm48_msgb_alloc();
 	struct gsm48_hdr *gh;
 
-	msg->lchan = in_msg->lchan;
-
 	/* First insert the problem code */
 	msgb_push_TLV1(msg, GSM_0480_PROBLEM_CODE_TAG_GENERAL,
 			GSM_0480_GEN_PROB_CODE_UNRECOGNISED);
@@ -325,5 +323,5 @@
 	gh->proto_discr |= req->transaction_id | (1<<7);  /* TI direction = 1 */
 	gh->msg_type = GSM0480_MTYPE_RELEASE_COMPLETE;
 
-	return gsm0808_submit_dtap(&msg->lchan->conn, msg, 0);
+	return gsm0808_submit_dtap(conn, msg, 0);
 }
