diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c
index 43a3d77..002ea1d 100644
--- a/src/gb/gprs_ns2.c
+++ b/src/gb/gprs_ns2.c
@@ -226,7 +226,7 @@
 		}
 
 		local = gprs_ns2_ip_bind_sockaddr(nsvc->bind);
-		remote = gprs_ns2_ip_vc_sockaddr(nsvc);
+		remote = gprs_ns2_ip_vc_remote(nsvc);
 		if (osmo_sockaddr_str_from_sockaddr(&local_str, &local->u.sas))
 			strcpy(local_str.ip, "invalid");
 		if (osmo_sockaddr_str_from_sockaddr(&remote_str, &remote->u.sas))
@@ -853,7 +853,7 @@
 	OSMO_ASSERT(sockaddr);
 
 	llist_for_each_entry(nsvc, &nse->nsvc, list) {
-		remote = gprs_ns2_ip_vc_sockaddr(nsvc);
+		remote = gprs_ns2_ip_vc_remote(nsvc);
 		if (!osmo_sockaddr_cmp(sockaddr, remote))
 			return nsvc;
 	}
diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c
index 2756226..d4de8ae 100644
--- a/src/gb/gprs_ns2_sns.c
+++ b/src/gb/gprs_ns2_sns.c
@@ -305,7 +305,7 @@
 				if (nsvc->bind != bind)
 					continue;
 
-				if (!osmo_sockaddr_cmp(&remote, gprs_ns2_ip_vc_sockaddr(nsvc))) {
+				if (!osmo_sockaddr_cmp(&remote, gprs_ns2_ip_vc_remote(nsvc))) {
 					found = true;
 					break;
 				}
@@ -340,7 +340,7 @@
 				if (nsvc->bind != bind)
 					continue;
 
-				if (!osmo_sockaddr_cmp(&remote, gprs_ns2_ip_vc_sockaddr(nsvc))) {
+				if (!osmo_sockaddr_cmp(&remote, gprs_ns2_ip_vc_remote(nsvc))) {
 					found = true;
 					break;
 				}
@@ -508,7 +508,7 @@
 	}
 
 	llist_for_each_entry(nsvc, &nse->nsvc, list) {
-		remote = gprs_ns2_ip_vc_sockaddr(nsvc);
+		remote = gprs_ns2_ip_vc_remote(nsvc);
 		/* all nsvc in NSE should be IP/UDP nsvc */
 		OSMO_ASSERT(remote);
 
@@ -556,7 +556,7 @@
 	}
 
 	llist_for_each_entry_safe(nsvc, tmp, &nse->nsvc, list) {
-		remote = gprs_ns2_ip_vc_sockaddr(nsvc);
+		remote = gprs_ns2_ip_vc_remote(nsvc);
 		/* all nsvc in NSE should be IP/UDP nsvc */
 		OSMO_ASSERT(remote);
 		if (osmo_sockaddr_cmp(&sa, remote))
diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c
index 9aca80b..e689118 100644
--- a/src/gb/gprs_ns2_udp.c
+++ b/src/gb/gprs_ns2_udp.c
@@ -396,7 +396,7 @@
 /*! Return the socket address of the remote peer of a NS-VC.
  *  \param[in] nsvc NS-VC whose remote peer we want to know
  *  \return address of the remote peer; NULL in case of error */
-const struct osmo_sockaddr *gprs_ns2_ip_vc_sockaddr(struct gprs_ns2_vc *nsvc)
+const struct osmo_sockaddr *gprs_ns2_ip_vc_remote(struct gprs_ns2_vc *nsvc)
 {
 	struct priv_vc *priv;
 
diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c
index 92c0095..a457361 100644
--- a/src/gb/gprs_ns2_vty.c
+++ b/src/gb/gprs_ns2_vty.c
@@ -251,7 +251,7 @@
 
 	switch (nsvc->ll) {
 	case GPRS_NS_LL_UDP: {
-		sockaddr = gprs_ns2_ip_vc_sockaddr(nsvc);
+		sockaddr = gprs_ns2_ip_vc_remote(nsvc);
 		if (!sockaddr) {
 			vty_out(vty, "unknown");
 			break;
diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map
index a185470..ee8651e 100644
--- a/src/gb/libosmogb.map
+++ b/src/gb/libosmogb.map
@@ -93,7 +93,7 @@
 gprs_ns2_ip_connect2;
 gprs_ns2_ip_connect_inactive;
 gprs_ns2_ip_connect_sns;
-gprs_ns2_ip_vc_sockaddr;
+gprs_ns2_ip_vc_remote;
 gprs_ns2_is_frgre_bind;
 gprs_ns2_is_ip_bind;
 gprs_ns2_ll_str;
