diff --git a/src/server/rspro_server.c b/src/server/rspro_server.c
index 723aac8..b35800f 100644
--- a/src/server/rspro_server.c
+++ b/src/server/rspro_server.c
@@ -250,20 +250,25 @@
 	/* if caller didn't provide bankd_conn, resolve it from map */
 	if (!bankd_conn)
 		bankd_conn = bankd_conn_by_id(srv, map->bank.bank_id);
-	if (!bankd_conn)
-		return;
-
-	/* obtain IP and port of bankd */
-	rc = osmo_sock_get_ip_and_port(bankd_conn->peer->ofd.fd, ip_str, sizeof(ip_str),
-					port_str, sizeof(port_str), false);
-	if (rc < 0) {
-		LOGPFSM(bankd_conn->fi, "Error during getpeername\n");
-		return;
+	if (map->state == SLMAP_S_DELETING || !bankd_conn) {
+		bankd_ip = 0;
+		bankd_port = 0;
+	} else {
+		/* obtain IP and port of bankd */
+		rc = osmo_sock_get_ip_and_port(bankd_conn->peer->ofd.fd, ip_str, sizeof(ip_str),
+						port_str, sizeof(port_str), false);
+		if (rc < 0) {
+			LOGPFSM(bankd_conn->fi, "Error during getpeername\n");
+			return;
+		}
+		bankd_ip = ntohl(inet_addr(ip_str));
+		bankd_port = 9999; /* TODO: configurable */
 	}
-	bankd_ip = ntohl(inet_addr(ip_str));
-	bankd_port = 9999; /* TODO: configurable */
+
+	/* determine if IP/port of bankd have changed */
 	if (conn->client.bankd.port != bankd_port || conn->client.bankd.ip != bankd_ip) {
-		LOGPFSM(conn->fi, "Bankd IP/Port changed to %s:%s\n", ip_str, port_str);
+		struct in_addr ia = { .s_addr = bankd_ip };
+		LOGPFSM(conn->fi, "Bankd IP/Port changed to %s:%u\n", inet_ntoa(ia), bankd_port);
 		conn->client.bankd.ip = bankd_ip;
 		conn->client.bankd.port = bankd_port;
 		changed = true;
@@ -371,9 +376,11 @@
 			break;
 		}
 		slotmaps_unlock(slotmaps);
+		/* update client! */
+		OSMO_ASSERT(map->state == SLMAP_S_DELETING);
+		_update_client_for_slotmap(map, conn->srv, conn);
 		/* slotmap_del() will remove it from both global and bank list */
 		slotmap_del(map->maps, map);
-		/* FIXME: update client! */
 		break;
 	case CLNTC_E_PUSH: /* check if any create or delete requests are pending */
 		slotmaps_wrlock(slotmaps);
