diff --git a/src/iu_client.c b/src/iu_client.c
index 83ed276..17d955d 100644
--- a/src/iu_client.c
+++ b/src/iu_client.c
@@ -83,6 +83,7 @@
 
 static struct osmo_sccp_instance *g_sccp;
 static struct osmo_sccp_user *g_scu;
+static struct osmo_sccp_addr g_local_sccp_addr;
 
 const struct value_string ranap_iu_event_type_names[] = {
 	OSMO_VALUE_STRING(RANAP_IU_EVENT_RAB_ASSIGN),
@@ -584,13 +585,6 @@
  * Paging
  ***********************************************************************/
 
-struct osmo_sccp_addr local_sccp_addr = {
-	.presence = OSMO_SCCP_ADDR_T_SSN | OSMO_SCCP_ADDR_T_PC,
-	.ri = OSMO_SCCP_RI_SSN_PC,
-	.ssn = OSMO_SCCP_SSN_RANAP,
-	.pc = 1,
-};
-
 /* Send a paging command down a given SCCP User. tmsi and paging_cause are
  * optional and may be passed NULL and 0, respectively, to disable their use.
  * See enum RANAP_PagingCause.
@@ -604,7 +598,7 @@
 	struct msgb *msg;
 	msg = ranap_new_msg_paging_cmd(imsi, tmsi, is_ps? 1 : 0, paging_cause);
 	msg->l2h = msg->data;
-	osmo_sccp_tx_unitdata_msg(g_scu, &local_sccp_addr, called_addr, msg);
+	osmo_sccp_tx_unitdata_msg(g_scu, &g_local_sccp_addr, called_addr, msg);
 	return 0;
 }
 
@@ -776,6 +770,7 @@
 	global_iu_recv_cb = iu_recv_cb;
 	global_iu_event_cb = iu_event_cb;
 	g_sccp = sccp;
+	osmo_sccp_local_addr_by_instance(&g_local_sccp_addr, sccp, OSMO_SCCP_SSN_RANAP);
 	g_scu = osmo_sccp_user_bind(g_sccp, sccp_user_name, sccp_sap_up, OSMO_SCCP_SSN_RANAP);
 
 	return 0;
diff --git a/src/iu_client_vty.c b/src/iu_client_vty.c
index b809b2a..a99facd 100644
--- a/src/iu_client_vty.c
+++ b/src/iu_client_vty.c
@@ -75,21 +75,6 @@
 	return CMD_SUCCESS;
 }
 
-extern struct osmo_sccp_addr local_sccp_addr;
-
-DEFUN(cfg_iu_local_addr_pc, cfg_iu_local_addr_pc_cmd,
-	"iu local-address point-code PC",
-	IU_STR "Local SCCP Address\n")
-{
-	local_sccp_addr.presence = OSMO_SCCP_ADDR_T_PC | OSMO_SCCP_ADDR_T_SSN;
-	local_sccp_addr.ri = OSMO_SCCP_RI_SSN_PC;
-	local_sccp_addr.pc = osmo_ss7_pointcode_parse(NULL, argv[0]);
-
-	return CMD_SUCCESS;
-}
-
-/* TODO: GT address configuration, in line with 4.5.1.1.1 of TS 25.410 */
-
 int ranap_iu_vty_config_write(struct vty *vty, const char *indent)
 {
 	if (!g_rab_assign_addr_enc) {
@@ -113,9 +98,6 @@
 		return CMD_WARNING;
 	}
 
-	vty_out(vty, "%siu local-address point-code %s%s", indent,
-		osmo_ss7_pointcode_print(NULL, local_sccp_addr.pc), VTY_NEWLINE);
-
 	if (asn_debug)
 		vty_out(vty, "%sasn1 debug 1%s", indent, VTY_NEWLINE);
 
@@ -130,7 +112,6 @@
 	g_rab_assign_addr_enc = rab_assign_addr_enc;
 
 	install_element(iu_parent_node, &cfg_iu_rab_assign_addr_enc_cmd);
-	install_element(iu_parent_node, &cfg_iu_local_addr_pc_cmd);
 
 	/* Technically, these are global ASN.1 settings and not necessarily limited to the Iu interface.
 	 * Practically, only Iu users will use ASN.1 in Osmocom programs -- at least so far. So it is
