diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
index 9d80515196..7c34c57899 100644
--- a/hw/cirrus_vga.c
+++ b/hw/cirrus_vga.c
@@ -2689,7 +2689,7 @@ static void vga_ioport_write(void *opaque, uint32_t addr, uint32_t val)
 	printf("vga: write CR%x = 0x%02x\n", s->cr_index, val);
 #endif
 	/* handle CR0-7 protection */
-	if ((s->cr[11] & 0x80) && s->cr_index <= 7) {
+	if ((s->cr[0x11] & 0x80) && s->cr_index <= 7) {
 	    /* can always write bit 4 of CR7 */
 	    if (s->cr_index == 7)
 		s->cr[7] = (s->cr[7] & ~0x10) | (val & 0x10);
diff --git a/pc-bios/vgabios-cirrus.bin b/pc-bios/vgabios-cirrus.bin
index 58572b6438..4e3c829545 100644
Binary files a/pc-bios/vgabios-cirrus.bin and b/pc-bios/vgabios-cirrus.bin differ
diff --git a/pc-bios/vgabios.bin b/pc-bios/vgabios.bin
index 88e99f6cb1..ed31b12b13 100644
Binary files a/pc-bios/vgabios.bin and b/pc-bios/vgabios.bin differ