diff --git a/src/remsim_client.c b/src/remsim_client.c
index 90e8de2..b60059d 100644
--- a/src/remsim_client.c
+++ b/src/remsim_client.c
@@ -16,21 +16,6 @@
 #include "rspro_util.h"
 #include "client.h"
 
-static void push_and_send(struct ipa_client_conn *ipa, struct msgb *msg_tx)
-{
-	ipa_prepend_header_ext(msg_tx, IPAC_PROTO_EXT_RSPRO);
-	ipa_msg_push_header(msg_tx, IPAC_PROTO_OSMO);
-	ipa_client_conn_send(ipa, msg_tx);
-	/* msg_tx is now queued and will be freed. */
-}
-
-void ipa_client_conn_send_rspro(struct ipa_client_conn *ipa, RsproPDU_t *rspro)
-{
-	struct msgb *msg = rspro_enc_msg(rspro);
-	OSMO_ASSERT(msg);
-	push_and_send(ipa, msg);
-}
-
 static int bankd_handle_msg(struct bankd_client *bc, struct msgb *msg)
 {
 	RsproPDU_t *pdu = rspro_dec_msg(msg);
diff --git a/src/remsim_client_fsm.c b/src/remsim_client_fsm.c
index 0b514e6..84f9f4f 100644
--- a/src/remsim_client_fsm.c
+++ b/src/remsim_client_fsm.c
@@ -17,6 +17,21 @@
 
 #define S(x)	(1 << (x))
 
+static void push_and_send(struct ipa_client_conn *ipa, struct msgb *msg_tx)
+{
+	ipa_prepend_header_ext(msg_tx, IPAC_PROTO_EXT_RSPRO);
+	ipa_msg_push_header(msg_tx, IPAC_PROTO_OSMO);
+	ipa_client_conn_send(ipa, msg_tx);
+	/* msg_tx is now queued and will be freed. */
+}
+
+void ipa_client_conn_send_rspro(struct ipa_client_conn *ipa, RsproPDU_t *rspro)
+{
+	struct msgb *msg = rspro_enc_msg(rspro);
+	OSMO_ASSERT(msg);
+	push_and_send(ipa, msg);
+}
+
 static void bankd_updown_cb(struct ipa_client_conn *conn, int up)
 {
 	struct bankd_client *bc = conn->data;
diff --git a/src/simtrace2-remsim_client.c b/src/simtrace2-remsim_client.c
index 3fc5da0..f54ace3 100644
--- a/src/simtrace2-remsim_client.c
+++ b/src/simtrace2-remsim_client.c
@@ -506,21 +506,6 @@
 
 /** remsim_client **/
 
-static void push_and_send(struct ipa_client_conn *ipa, struct msgb *msg_tx)
-{
-	ipa_prepend_header_ext(msg_tx, IPAC_PROTO_EXT_RSPRO);
-	ipa_msg_push_header(msg_tx, IPAC_PROTO_OSMO);
-	ipa_client_conn_send(ipa, msg_tx);
-	/* msg_tx is now queued and will be freed. */
-}
-
-void ipa_client_conn_send_rspro(struct ipa_client_conn *ipa, RsproPDU_t *rspro)
-{
-	struct msgb *msg = rspro_enc_msg(rspro);
-	OSMO_ASSERT(msg);
-	push_and_send(ipa, msg);
-}
-
 static int bankd_handle_tpduCardToModem(struct bankd_client *bc, RsproPDU_t *pdu)
 {
 	OSMO_ASSERT(pdu);
