diff --git a/include/openbsc/gsup_client.h b/include/openbsc/gsup_client.h
index a113225..4a25490 100644
--- a/include/openbsc/gsup_client.h
+++ b/include/openbsc/gsup_client.h
@@ -37,6 +37,8 @@
 				     struct msgb *msg);
 
 struct gsup_client {
+	const char *unit_name;
+
 	struct ipa_client_conn *link;
 	gsup_client_read_cb_t read_cb;
 	void *data;
@@ -49,10 +51,11 @@
 	int got_ipa_pong;
 };
 
-struct gsup_client *gsup_client_create(const char *ip_addr,
+struct gsup_client *gsup_client_create(const char *unit_name,
+				       const char *ip_addr,
 				       unsigned int tcp_port,
 				       gsup_client_read_cb_t read_cb,
-				       struct oap_client_config *oap_config);
+				       struct oap_client_config *oapc_config);
 
 void gsup_client_destroy(struct gsup_client *gsupc);
 int gsup_client_send(struct gsup_client *gsupc, struct msgb *msg);
diff --git a/src/gprs/gprs_subscriber.c b/src/gprs/gprs_subscriber.c
index 1bb5141..176583b 100644
--- a/src/gprs/gprs_subscriber.c
+++ b/src/gprs/gprs_subscriber.c
@@ -69,6 +69,7 @@
 	addr_str = inet_ntoa(sgi->cfg.gsup_server_addr.sin_addr);
 
 	sgi->gsup_client = gsup_client_create(
+		"SGSN",
 		addr_str, sgi->cfg.gsup_server_port,
 		&gsup_read_cb,
 		&sgi->cfg.oap);
diff --git a/src/libcommon/gsup_client.c b/src/libcommon/gsup_client.c
index de00d8d..46f25bb 100644
--- a/src/libcommon/gsup_client.c
+++ b/src/libcommon/gsup_client.c
@@ -173,10 +173,13 @@
 	struct ipaccess_head_ext *he = (struct ipaccess_head_ext *) msgb_l2(msg);
 	struct gsup_client *gsupc = (struct gsup_client *)link->data;
 	int rc;
-	static struct ipaccess_unit ipa_dev = {
-		.unit_name = "SGSN"
+	struct ipaccess_unit ipa_dev = {
+		/* see gsup_client_create() on const vs non-const */
+		.unit_name = (char*)gsupc->unit_name,
 	};
 
+	OSMO_ASSERT(ipa_dev.unit_name);
+
 	msg->l2h = &hh->data[0];
 
 	rc = ipaccess_bts_handle_ccm(link, &ipa_dev, msg);
@@ -262,7 +265,8 @@
 	gsup_client_send_ping(gsupc);
 }
 
-struct gsup_client *gsup_client_create(const char *ip_addr,
+struct gsup_client *gsup_client_create(const char *unit_name,
+				       const char *ip_addr,
 				       unsigned int tcp_port,
 				       gsup_client_read_cb_t read_cb,
 				       struct oap_client_config *oapc_config)
@@ -273,6 +277,12 @@
 	gsupc = talloc_zero(tall_bsc_ctx, struct gsup_client);
 	OSMO_ASSERT(gsupc);
 
+	/* struct ipaccess_unit has a non-const unit_name, so let's copy to be
+	 * able to have a non-const unit_name here as well. To not taint the
+	 * public gsup_client API, let's store it in a const char* anyway. */
+	gsupc->unit_name = talloc_strdup(gsupc, unit_name);
+	OSMO_ASSERT(gsupc->unit_name);
+
 	/* a NULL oapc_config will mark oap_state disabled. */
 	rc = oap_client_init(oapc_config, &gsupc->oap_state);
 	if (rc != 0)
diff --git a/src/libcommon/gsup_test_client.c b/src/libcommon/gsup_test_client.c
index 8fc38d6..1b39670 100644
--- a/src/libcommon/gsup_test_client.c
+++ b/src/libcommon/gsup_test_client.c
@@ -275,8 +275,8 @@
 
 	osmo_init_logging(&gsup_test_client_log_info);
 
-	g_gc = gsup_client_create(server_host, server_port, gsupc_read_cb,
-				       NULL);
+	g_gc = gsup_client_create("GSUPTEST", server_host, server_port,
+				  gsupc_read_cb, NULL);
 
 
 	signal(SIGINT, sig_cb);
