diff --git a/cli_classic.c b/cli_classic.c
index f0126a6..a27e454 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -610,14 +610,9 @@
 				ret = 1;
 				goto out_shutdown;
 			}
-			if (map_flash(&flashes[0]) != 0) {
-				free(flashes[0].chip);
-				ret = 1;
-				goto out_shutdown;
-			}
 			msg_cinfo("Please note that forced reads most likely contain garbage.\n");
-			ret = read_flash_to_file(&flashes[0], filename);
-			unmap_flash(&flashes[0]);
+			flashrom_flag_set(&flashes[0], FLASHROM_FLAG_FORCE, !!force);
+			ret = do_read(&flashes[0], filename);
 			free(flashes[0].chip);
 			goto out_shutdown;
 		}
diff --git a/flashrom.c b/flashrom.c
index db079ab..ac283c3 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -959,37 +959,6 @@
 #endif
 }
 
-static int read_by_layout(struct flashctx *, uint8_t *);
-int read_flash_to_file(struct flashctx *flash, const char *filename)
-{
-	unsigned long size = flash->chip->total_size * 1024;
-	unsigned char *buf = calloc(size, sizeof(unsigned char));
-	int ret = 0;
-
-	msg_cinfo("Reading flash... ");
-	if (!buf) {
-		msg_gerr("Memory allocation failed!\n");
-		msg_cinfo("FAILED.\n");
-		return 1;
-	}
-	if (!flash->chip->read) {
-		msg_cerr("No read function available for this flash chip.\n");
-		ret = 1;
-		goto out_free;
-	}
-	if (read_by_layout(flash, buf)) {
-		msg_cerr("Read operation failed!\n");
-		ret = 1;
-		goto out_free;
-	}
-
-	ret = write_buf_to_file(buf, size, filename);
-out_free:
-	free(buf);
-	msg_cinfo("%s.\n", ret ? "FAILED" : "done");
-	return ret;
-}
-
 /* Even if an error is found, the function will keep going and check the rest. */
 static int selfcheck_eraseblocks(const struct flashchip *chip)
 {
diff --git a/include/flash.h b/include/flash.h
index 66d5b88..e955942 100644
--- a/include/flash.h
+++ b/include/flash.h
@@ -413,7 +413,6 @@
 int read_memmapped(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len);
 int erase_flash(struct flashctx *flash);
 int probe_flash(struct registered_master *mst, int startchip, struct flashctx *fill_flash, int force);
-int read_flash_to_file(struct flashctx *flash, const char *filename);
 int verify_range(struct flashctx *flash, const uint8_t *cmpbuf, unsigned int start, unsigned int len);
 void emergency_help_message(void);
 void print_version(void);
