diff --git a/target/linux/generic/files/drivers/mtd/myloader.c b/target/linux/generic/files/drivers/mtd/myloader.c
index 93b4a9b2867b147c800038ba31ce85a7aa16cf78..72956cdc1c9fa5ffafdeca73e941ffb20c7656e8 100644
--- a/target/linux/generic/files/drivers/mtd/myloader.c
+++ b/target/linux/generic/files/drivers/mtd/myloader.c
@@ -89,12 +89,8 @@ static int myloader_parse_partitions(struct mtd_info *master,
 		goto out_free_buf;
 	}
 
-	/*
-	 * The MyLoader and the Partition Table is always present.
-	 * Additionally, an extra partition is generated to cover
-	 * everything after the bootloader.
-	 */
-	num_parts = 3;
+	/* The MyLoader and the Partition Table is always present */
+	num_parts = 2;
 
 	/* Detect number of used partitions */
 	for (i = 0; i < MYLO_MAX_PARTITIONS; i++) {
@@ -125,13 +121,6 @@ static int myloader_parse_partitions(struct mtd_info *master,
 	mtd_part++;
 	names += PART_NAME_LEN;
 
-	strncpy(names, "firmware", PART_NAME_LEN);
-	mtd_part->name = names;
-	mtd_part->offset = offset;
-	mtd_part->size = master->size - offset;
-	mtd_part++;
-	names += PART_NAME_LEN;
-
 	strncpy(names, "partition_table", PART_NAME_LEN);
 	mtd_part->name = names;
 	mtd_part->offset = offset;