diff --git a/src/nacc_fsm.c b/src/nacc_fsm.c
index b8350a6..5e8d51b 100644
--- a/src/nacc_fsm.c
+++ b/src/nacc_fsm.c
@@ -279,7 +279,7 @@
 	struct gprs_rlcmac_bts *bts = ctx->ms->bts;
 	struct gprs_pcu *pcu = bts->pcu;
 	const struct osmo_cell_global_id_ps *cgi_ps;
-	struct ctrl_cmd *cmd;
+	struct ctrl_cmd *cmd = NULL;
 	int rc;
 
 	/* First try to find the value in the cache */
@@ -295,6 +295,16 @@
 	LOGPFSML(fi, LOGL_DEBUG, "No CGI-PS found in cache, resolving " NEIGH_CACHE_ENTRY_KEY_FMT "...\n",
 		 NEIGH_CACHE_ENTRY_KEY_ARGS(&ctx->neigh_key));
 
+	rc = osmo_sock_init2_ofd(&ctx->neigh_ctrl_conn->write_queue.bfd,
+				 AF_UNSPEC, SOCK_STREAM, IPPROTO_TCP,
+				 NULL, 0, pcu->vty.neigh_ctrl_addr, pcu->vty.neigh_ctrl_port,
+				 OSMO_SOCK_F_CONNECT);
+	if (rc < 0) {
+		LOGPFSML(fi, LOGL_ERROR, "Can't connect to CTRL @ %s:%u\n",
+		     pcu->vty.neigh_ctrl_addr, pcu->vty.neigh_ctrl_port);
+		goto err_term;
+	}
+
 	cmd = ctrl_cmd_create(ctx, CTRL_TYPE_GET);
 	if (!cmd) {
 		LOGPFSML(fi, LOGL_ERROR, "CTRL msg creation failed\n");
@@ -603,11 +613,8 @@
 
 struct nacc_fsm_ctx *nacc_fsm_alloc(struct GprsMs* ms)
 {
-	struct gprs_rlcmac_bts *bts = ms->bts;
-	struct gprs_pcu *pcu = bts->pcu;
 	struct nacc_fsm_ctx *ctx = talloc_zero(ms, struct nacc_fsm_ctx);
 	char buf[64];
-	int rc;
 
 	talloc_set_destructor(ctx, nacc_fsm_ctx_talloc_destructor);
 
@@ -628,16 +635,6 @@
 	ctx->neigh_ctrl_conn->write_queue.bfd.fd = -1;
 	llist_add(&ctx->neigh_ctrl_conn->list_entry, &ctx->neigh_ctrl->ccon_list);
 
-	rc = osmo_sock_init2_ofd(&ctx->neigh_ctrl_conn->write_queue.bfd,
-				 AF_UNSPEC, SOCK_STREAM, IPPROTO_TCP,
-				 NULL, 0, pcu->vty.neigh_ctrl_addr, pcu->vty.neigh_ctrl_port,
-				 OSMO_SOCK_F_CONNECT);
-	if (rc < 0) {
-		LOGP(DNACC, LOGL_ERROR, "Can't connect to CTRL @ %s:%u\n",
-		     pcu->vty.neigh_ctrl_addr, pcu->vty.neigh_ctrl_port);
-		goto free_ret;
-	}
-
 	return ctx;
 free_ret:
 	talloc_free(ctx);
