diff --git a/jedec.c b/jedec.c
index bfbd93e..b2ab519 100644
--- a/jedec.c
+++ b/jedec.c
@@ -331,8 +331,8 @@
 	erase_chip_jedec(flash);
 	// dumb check if erase was successful.
 	for (i = 0; i < total_size; i++) {
-		if (bios[i] != (uint8_t) 0xff) {
-			printf("ERASE FAILED @%d, val %02x!\n", i, bios[i]);
+		if (chip_readb(bios + i) != (uint8_t) 0xff) {
+			printf("ERASE FAILED @%d, val %02x!\n", i, chip_readb(bios + i));
 			return -1;
 		}
 	}
diff --git a/sst_fwhub.c b/sst_fwhub.c
index 0bf2d4d..3b74a95 100644
--- a/sst_fwhub.c
+++ b/sst_fwhub.c
@@ -122,7 +122,7 @@
 
 	// dumb check if erase was successful.
 	for (i = 0; i < total_size; i++) {
-		if (bios[i] != 0xff) {
+		if (chip_readb(bios + i) != 0xff) {
 			printf("ERASE FAILED!\n");
 			return -1;
 		}
diff --git a/w39v040c.c b/w39v040c.c
index f631d33..e7a2eb1 100644
--- a/w39v040c.c
+++ b/w39v040c.c
@@ -67,8 +67,8 @@
 		erase_sector_jedec(flash->virtual_memory, i);
 
 	for (i = 0; i < total_size; i++)
-		if (0xff != bios[i]) {
-			printf("ERASE FAILED at 0x%08x!  Expected=0xff, Read=0x%02x\n", i, bios[i]);
+		if (0xff != chip_readb(bios + i)) {
+			printf("ERASE FAILED at 0x%08x!  Expected=0xff, Read=0x%02x\n", i, chip_readb(bios + i));
 			return -1;
 		}
 
diff --git a/w39v080fa.c b/w39v080fa.c
index ba32add..7b827f8 100644
--- a/w39v080fa.c
+++ b/w39v080fa.c
@@ -180,8 +180,8 @@
 	printf("\n");
 
 	for (i = 0; i < total_size; i++) {
-		if (bios[i] != 0xff) {
-			fprintf(stderr, "Error: Flash chip erase failed at 0x%08x(0x%02x)\n", i, bios[i]);
+		if (chip_readb(bios + i) != 0xff) {
+			fprintf(stderr, "Error: Flash chip erase failed at 0x%08x(0x%02x)\n", i, chip_readb(bios + i));
 			return -1;
 		}
 	}
