diff --git a/openbsc/src/osmo-bsc/osmo_bsc_api.c b/openbsc/src/osmo-bsc/osmo_bsc_api.c
index 8288d3b..675bbb2 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_api.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_api.c
@@ -87,8 +87,8 @@
 	queue_msg_or_return(resp);
 }
 
-static void bsc_send_ussd_no_srv(struct gsm_subscriber_connection *conn,
-				 struct msgb *msg, const char *text)
+static void bsc_send_ussd_notification(struct gsm_subscriber_connection *conn,
+			   struct msgb *msg, const char *text)
 {
 	struct gsm48_hdr *gh;
 	int8_t pdisc;
@@ -119,14 +119,10 @@
 	}
 
 	if (drop_message) {
-		LOGP(DMSC, LOGL_DEBUG, "Skipping (not sending) USSD message: '%s'\n",
-		     text);
+		LOGP(DMSC, LOGL_DEBUG, "Skipping (not sending) USSD message: '%s'\n", text);
 		return;
 	}
 
-	LOGP(DMSC, LOGL_INFO, "Sending CM Service Accept\n");
-	gsm48_tx_mm_serv_ack(conn);
-
 	LOGP(DMSC, LOGL_INFO, "Sending USSD message: '%s'\n", text);
 	gsm0480_send_ussdNotify(conn, 1, text);
 	gsm0480_send_releaseComplete(conn);
@@ -147,8 +143,7 @@
 	msc = bsc_find_msc(conn, msg);
 	if (!msc) {
 		LOGP(DMSC, LOGL_ERROR, "Failed to find a MSC for a connection.\n");
-		bsc_send_ussd_no_srv(conn, msg,
-				     conn->bts->network->bsc_data->ussd_no_msc_txt);
+		bsc_send_ussd_notification(conn, msg, conn->bts->network->bsc_data->ussd_no_msc_txt);
 		return -1;
 	}
 
@@ -169,9 +164,9 @@
 	if (ret != BSC_CON_SUCCESS) {
 		/* allocation has failed */
 		if (ret == BSC_CON_REJECT_NO_LINK)
-			bsc_send_ussd_no_srv(conn, msg, msc->ussd_msc_lost_txt);
+			bsc_send_ussd_notification(conn, msg, msc->ussd_msc_lost_txt);
 		else if (ret == BSC_CON_REJECT_RF_GRACE)
-			bsc_send_ussd_no_srv(conn, msg, msc->ussd_grace_txt);
+			bsc_send_ussd_notification(conn, msg, msc->ussd_grace_txt);
 
 		return BSC_API_CONN_POL_REJECT;
 	}
