diff --git a/include/osmocom/msc/vlr.h b/include/osmocom/msc/vlr.h
index 2f31063..20a9c0f 100644
--- a/include/osmocom/msc/vlr.h
+++ b/include/osmocom/msc/vlr.h
@@ -142,9 +142,7 @@
 	/* Newly allocated TMSI that was not yet acked by MS */
 	uint32_t tmsi_new;
 
-	/* some redundancy in information below? */
 	struct osmo_cell_global_id cgi;			/* 2.4.16 */
-	uint16_t lac;					/* 2.4.2 */
 
 	char imeisv[GSM23003_IMEISV_NUM_DIGITS+1];	/* 2.2.3 */
 	char imei[GSM23003_IMEISV_NUM_DIGITS+1];	/* 2.1.9 */
diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c
index 5500f6f..5567da9 100644
--- a/src/libmsc/gsm_04_08_cc.c
+++ b/src/libmsc/gsm_04_08_cc.c
@@ -1939,7 +1939,7 @@
 						GSM48_CC_CAUSE_UNASSIGNED_NR);
 		}
 		/* If subscriber is not "attached" */
-		if (!vsub->lac) {
+		if (!vsub->cgi.lai.lac) {
 			DEBUGP(DCC, "(bts - trx - ts - ti -- sub %s) "
 				"Received '%s' from MNCC with "
 				"detached subscriber %s\n", data->called.number,
@@ -1978,7 +1978,7 @@
 					"unallocated channel, paging already "
 					"started for lac %d.\n",
 					data->called.number,
-					get_mncc_name(msg_type), vsub->lac);
+					get_mncc_name(msg_type), vsub->cgi.lai.lac);
 				vlr_subscr_put(vsub);
 				trans_free(trans);
 				return 0;
diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c
index 43bf48c..3ee6e92 100644
--- a/src/libmsc/gsm_09_11.c
+++ b/src/libmsc/gsm_09_11.c
@@ -287,7 +287,7 @@
 	}
 
 	/* If subscriber is not "attached" */
-	if (!vsub->lac) {
+	if (!vsub->cgi.lai.lac) {
 		LOGP(DMM, LOGL_ERROR, "Network-originated session "
 			"rejected - subscriber is not attached\n");
 		return NULL;
diff --git a/src/libmsc/gsm_subscriber.c b/src/libmsc/gsm_subscriber.c
index 188807e..0e76efc 100644
--- a/src/libmsc/gsm_subscriber.c
+++ b/src/libmsc/gsm_subscriber.c
@@ -116,12 +116,12 @@
 	 * SCCP connections (if any). */
 	switch (vsub->cs.attached_via_ran) {
 	case RAN_GERAN_A:
-		return a_iface_tx_paging(vsub->imsi, vsub->tmsi, vsub->lac);
+		return a_iface_tx_paging(vsub->imsi, vsub->tmsi, vsub->cgi.lai.lac);
 	case RAN_UTRAN_IU:
 		return ranap_iu_page_cs(vsub->imsi,
 					vsub->tmsi == GSM_RESERVED_TMSI?
 					NULL : &vsub->tmsi,
-					vsub->lac);
+					vsub->cgi.lai.lac);
 	default:
 		break;
 	}
diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c
index 5622c02..3079bc3 100644
--- a/src/libmsc/msc_vty.c
+++ b/src/libmsc/msc_vty.c
@@ -631,7 +631,7 @@
 		vty_out(vty, "    Extension: %s%s", vsub->msisdn,
 			VTY_NEWLINE);
 	vty_out(vty, "    LAC: %d/0x%x%s",
-		vsub->lac, vsub->lac, VTY_NEWLINE);
+		vsub->cgi.lai.lac, vsub->cgi.lai.lac, VTY_NEWLINE);
 	vty_out(vty, "    RAN: %s%s",
 		ran_type_name(vsub->cs.attached_via_ran), VTY_NEWLINE);
 	vty_out(vty, "    IMSI: %s%s", vsub->imsi, VTY_NEWLINE);
diff --git a/src/libvlr/vlr_lu_fsm.c b/src/libvlr/vlr_lu_fsm.c
index 5d171d5..e635305 100644
--- a/src/libvlr/vlr_lu_fsm.c
+++ b/src/libvlr/vlr_lu_fsm.c
@@ -950,7 +950,7 @@
 	vsub->lu_fsm = fi;
 	vsub->msc_conn_ref = lfp->msc_conn_ref;
 	/* FIXME: send new LAC to HLR? */
-	vsub->lac = lfp->new_lai.lac;
+	vsub->cgi.lai.lac = lfp->new_lai.lac;
 	lfp->vsub = vsub;
 	/* Tell MSC to associate this subscriber with the given
 	 * connection */
diff --git a/tests/msc_vlr/msc_vlr_test_call.c b/tests/msc_vlr/msc_vlr_test_call.c
index 4a4f243..b1ff2c0 100644
--- a/tests/msc_vlr/msc_vlr_test_call.c
+++ b/tests/msc_vlr/msc_vlr_test_call.c
@@ -154,7 +154,7 @@
 	vsub = vlr_subscr_find_by_imsi(net->vlr, IMSI);
 	VERBOSE_ASSERT(vsub != NULL, == true, "%d");
 	VERBOSE_ASSERT(strcmp(vsub->imsi, IMSI), == 0, "%d");
-	VAL_ASSERT("LAC", vsub->lac, == 23, "%u");
+	VAL_ASSERT("LAC", vsub->cgi.lai.lac, == 23, "%u");
 	vlr_subscr_put(vsub);
 }
 
diff --git a/tests/msc_vlr/msc_vlr_test_ss.c b/tests/msc_vlr/msc_vlr_test_ss.c
index 4e8077e..832293c 100644
--- a/tests/msc_vlr/msc_vlr_test_ss.c
+++ b/tests/msc_vlr/msc_vlr_test_ss.c
@@ -68,7 +68,7 @@
 	vsub = vlr_subscr_find_by_imsi(net->vlr, IMSI);
 	VERBOSE_ASSERT(vsub != NULL, == true, "%d");
 	VERBOSE_ASSERT(strcmp(vsub->imsi, IMSI), == 0, "%d");
-	VAL_ASSERT("LAC", vsub->lac, == 23, "%u");
+	VAL_ASSERT("LAC", vsub->cgi.lai.lac, == 23, "%u");
 	vlr_subscr_put(vsub);
 
 	bss_sends_clear_complete();
