diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c
index d11ecce..147e001 100644
--- a/src/gprs/gprs_gmm.c
+++ b/src/gprs/gprs_gmm.c
@@ -120,6 +120,8 @@
 {
 	struct sgsn_pdp_ctx *pdp;
 	llist_for_each_entry(pdp, &mm_ctx->pdp_list, list) {
+		LOGMMCTXP(LOGL_INFO, mm_ctx, "Changing GTP-U endpoints %s -> %s\n",
+			  sgsn_gtp_ntoa(&pdp->lib->gsnlu), inet_ntoa(sgsn->cfg.gtp_listenaddr.sin_addr));
 		sgsn_pdp_upd_gtp_u(pdp,
 				   &sgsn->cfg.gtp_listenaddr.sin_addr,
 				   sizeof(sgsn->cfg.gtp_listenaddr.sin_addr));
diff --git a/src/gprs/sgsn_vty.c b/src/gprs/sgsn_vty.c
index faac69b..496bd68 100644
--- a/src/gprs/sgsn_vty.c
+++ b/src/gprs/sgsn_vty.c
@@ -425,7 +425,7 @@
 	{ 0, NULL }
 };
 
-static char *gtp_ntoa(struct ul16_t *ul)
+char *sgsn_gtp_ntoa(struct ul16_t *ul)
 {
 	if (ul->l == 4) {
 		struct in_addr *ia = (struct in_addr *) ul;
@@ -450,13 +450,13 @@
 			gprs_pdpaddr2str(pdp->lib->eua.v, pdp->lib->eua.l),
 			VTY_NEWLINE);
 		vty_out(vty, "%s  GTP Local Control(%s / TEIC: 0x%08x) ", pfx,
-			gtp_ntoa(&pdp->lib->gsnlc), pdp->lib->teic_own);
+			sgsn_gtp_ntoa(&pdp->lib->gsnlc), pdp->lib->teic_own);
 		vty_out(vty, "Data(%s / TEID: 0x%08x)%s",
-			gtp_ntoa(&pdp->lib->gsnlu), pdp->lib->teid_own, VTY_NEWLINE);
+			sgsn_gtp_ntoa(&pdp->lib->gsnlu), pdp->lib->teid_own, VTY_NEWLINE);
 		vty_out(vty, "%s  GTP Remote Control(%s / TEIC: 0x%08x) ", pfx,
-			gtp_ntoa(&pdp->lib->gsnrc), pdp->lib->teic_gn);
+			sgsn_gtp_ntoa(&pdp->lib->gsnrc), pdp->lib->teic_gn);
 		vty_out(vty, "Data(%s / TEID: 0x%08x)%s",
-			gtp_ntoa(&pdp->lib->gsnru), pdp->lib->teid_gn, VTY_NEWLINE);
+			sgsn_gtp_ntoa(&pdp->lib->gsnru), pdp->lib->teid_gn, VTY_NEWLINE);
 	}
 
 	vty_out_rate_ctr_group(vty, " ", pdp->ctrg);
