diff --git a/openbsc/src/nat/bsc_nat.c b/openbsc/src/nat/bsc_nat.c
index 5781899..e1d2f32 100644
--- a/openbsc/src/nat/bsc_nat.c
+++ b/openbsc/src/nat/bsc_nat.c
@@ -231,6 +231,27 @@
 	queue_for_msc(conn->msc_con, msg);
 }
 
+static void nat_send_rlsd_bsc(struct sccp_connections *conn)
+{
+	struct sccp_connection_released *rel;
+	struct msgb *msg;
+
+	msg = msgb_alloc_headroom(4096, 128, "rlsd");
+	if (!msg) {
+		LOGP(DNAT, LOGL_ERROR, "Failed to allocate clear command.\n");
+		return;
+	}
+
+	msg->l2h = msgb_put(msg, sizeof(*rel));
+	rel = (struct sccp_connection_released *) msg->l2h;
+	rel->type = SCCP_MSG_TYPE_RLSD;
+	rel->release_cause = SCCP_RELEASE_CAUSE_SCCP_FAILURE;
+	rel->destination_local_reference = conn->real_ref;
+	rel->source_local_reference = conn->remote_ref;
+
+	bsc_write(conn->bsc, msg, IPAC_PROTO_SCCP);
+}
+
 static void nat_send_rlc(struct bsc_msc_connection *msc_con,
 			 struct sccp_source_reference *src,
 			 struct sccp_source_reference *dst)
@@ -1307,3 +1328,19 @@
 
 	return 0;
 }
+
+/* Close all connections handed out to the USSD module */
+int bsc_close_ussd_connections(struct bsc_nat *nat)
+{
+	struct sccp_connections *con;
+	llist_for_each_entry(con, &nat->sccp_connections, list_entry) {
+		if (con->con_local != 2)
+			continue;
+		if (!con->bsc)
+			continue;
+
+		nat_send_rlsd_bsc(con);
+	}
+
+	return 0;
+}
diff --git a/openbsc/src/nat/bsc_ussd.c b/openbsc/src/nat/bsc_ussd.c
index 3729d91..f10a871 100644
--- a/openbsc/src/nat/bsc_ussd.c
+++ b/openbsc/src/nat/bsc_ussd.c
@@ -61,8 +61,11 @@
 
 static void bsc_nat_ussd_destroy(struct bsc_nat_ussd_con *con)
 {
-	if (con->nat->ussd_con == con)
+	if (con->nat->ussd_con == con) {
+		bsc_close_ussd_connections(con->nat);
 		con->nat->ussd_con = NULL;
+	}
+
 	close(con->queue.bfd.fd);
 	bsc_unregister_fd(&con->queue.bfd);
 	bsc_del_timer(&con->auth_timeout);
