diff --git a/chipdrivers.h b/chipdrivers.h
index c01ab7a..2c1cd8b 100644
--- a/chipdrivers.h
+++ b/chipdrivers.h
@@ -128,7 +128,6 @@
 
 /* stm50flw0x0x.c */
 int erase_sector_stm50flw0x0x(struct flashchip *flash, unsigned int block, unsigned int blocksize);
-int erase_chip_stm50flw0x0x(struct flashchip *flash, unsigned int addr, unsigned int blocklen);
 int unlock_stm50flw0x0x(struct flashchip *flash);
 
 #endif /* !__CHIPDRIVERS_H__ */
diff --git a/flashchips.c b/flashchips.c
index 753a094..b36f6ee 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -6852,9 +6852,6 @@
 			}, {
 				.eraseblocks = { {64 * 1024, 8}, },
 				.block_erase = erase_block_82802ab,
-			}, {
-				.eraseblocks = { {512 * 1024, 1} },
-				.block_erase = erase_chip_stm50flw0x0x,
 			}
 		},
 		.unlock		= unlock_stm50flw0x0x,
@@ -6887,9 +6884,6 @@
 			}, {
 				.eraseblocks = { {64 * 1024, 8}, },
 				.block_erase = erase_block_82802ab,
-			}, {
-				.eraseblocks = { {512 * 1024, 1} },
-				.block_erase = erase_chip_stm50flw0x0x,
 			}
 		},
 		.unlock		= unlock_stm50flw0x0x,
@@ -6922,9 +6916,6 @@
 			}, {
 				.eraseblocks = { {64 * 1024, 16}, },
 				.block_erase = erase_block_82802ab,
-			}, {
-				.eraseblocks = { {1024 * 1024, 1} },
-				.block_erase = erase_chip_stm50flw0x0x,
 			}
 		},
 		.unlock		= unlock_stm50flw0x0x,
@@ -6957,9 +6948,6 @@
 			}, {
 				.eraseblocks = { {64 * 1024, 16}, },
 				.block_erase = erase_block_82802ab,
-			}, {
-				.eraseblocks = { {1024 * 1024, 1} },
-				.block_erase = erase_chip_stm50flw0x0x,
 			}
 		},
 		.unlock		= unlock_stm50flw0x0x,
@@ -6989,9 +6977,6 @@
 					{16 * 1024, 1},
 				},
 				.block_erase = erase_block_82802ab,
-			}, {
-				.eraseblocks = { {256 * 1024, 1} },
-				.block_erase = erase_chip_stm50flw0x0x,
 			}
 		},
 		.unlock		= unlock_stm50flw0x0x,
@@ -7016,9 +7001,6 @@
 			{
 				.eraseblocks = { {64 * 1024, 32}, },
 				.block_erase = erase_block_82802ab,
-			}, {
-				.eraseblocks = { {2 * 1024 * 1024, 1} },
-				.block_erase = erase_chip_stm50flw0x0x,
 			}
 		},
 		.unlock		= unlock_stm50flw0x0x,
@@ -7043,9 +7025,6 @@
 			{
 				.eraseblocks = { {64 * 1024, 8}, },
 				.block_erase = erase_block_82802ab,
-			}, {
-				.eraseblocks = { {512 * 1024, 1} },
-				.block_erase = erase_chip_stm50flw0x0x,
 			}
 		},
 		.unlock		= unlock_stm50flw0x0x,
@@ -7070,9 +7049,6 @@
 			{
 				.eraseblocks = { {64 * 1024, 16}, },
 				.block_erase = erase_block_82802ab,
-			}, {
-				.eraseblocks = { {1024 * 1024, 1} },
-				.block_erase = erase_chip_stm50flw0x0x,
 			}
 		},
 		.unlock		= unlock_stm50flw0x0x,
@@ -7103,9 +7079,6 @@
 					{16 * 1024, 1},
 				},
 				.block_erase = erase_block_82802ab,
-			}, {
-				.eraseblocks = { {2 * 1024 * 1024, 1} },
-				.block_erase = erase_chip_stm50flw0x0x,
 			}
 		},
 		.unlock		= unlock_stm50flw0x0x,
diff --git a/stm50flw0x0x.c b/stm50flw0x0x.c
index 60e5c45..726a882 100644
--- a/stm50flw0x0x.c
+++ b/stm50flw0x0x.c
@@ -114,30 +114,3 @@
 
 	return 0;
 }
-
-/* FIXME: This function is not a real chip erase function. */
-int erase_chip_stm50flw0x0x(struct flashchip *flash, unsigned int addr, unsigned int blocklen)
-{
-	int i;
-	int total_size = flash->total_size * 1024;
-	int page_size = flash->page_size;
-
-	if ((addr != 0) || (blocklen != flash->total_size * 1024)) {
-		msg_cerr("%s called with incorrect arguments\n",
-			__func__);
-		return -1;
-	}
-
-	for (i = 0; i < total_size / page_size; i++) {
-		//if (unlock_block_stm50flw0x0x(flash, i * page_size)) {
-		//	msg_cerr("UNLOCK FAILED!\n");
-		//	return -1;
-		//}
-		if (erase_block_82802ab(flash, i * page_size, page_size)) {
-			msg_cerr("ERASE FAILED!\n");
-			return -1;
-		}
-	}
-
-	return 0;
-}
