diff --git a/cli_classic.c b/cli_classic.c
index 7ce74e5..7661612 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -177,7 +177,7 @@
 	enum programmer prog = PROGRAMMER_INVALID;
 	int ret = 0;
 
-	static const char optstring[] = "r:Rw:v:nVEfc:m:l:i:p:Lzh";
+	static const char optstring[] = "r:Rw:v:nVEfc:l:i:p:Lzh";
 	static const struct option long_options[] = {
 		{"read",		1, NULL, 'r'},
 		{"write",		1, NULL, 'w'},
@@ -198,6 +198,7 @@
 	};
 
 	char *filename = NULL;
+	char *layoutfile = NULL;
 	char *tempstr = NULL;
 	char *pparam = NULL;
 
@@ -273,9 +274,12 @@
 			force = 1;
 			break;
 		case 'l':
-			tempstr = strdup(optarg);
-			if (read_romlayout(tempstr))
+			if (layoutfile) {
+				fprintf(stderr, "Error: --layout specified "
+					"more than once. Aborting.\n");
 				cli_classic_abort_usage();
+			}
+			layoutfile = strdup(optarg);
 			break;
 		case 'i':
 			tempstr = strdup(optarg);
@@ -373,9 +377,6 @@
 		cli_classic_abort_usage();
 	}
 
-	if (process_include_args())
-		cli_classic_abort_usage();
-
 	/* FIXME: Print the actions flashrom will take. */
 
 	if (list_supported) {
@@ -390,6 +391,11 @@
 	}
 #endif
 
+	if (layoutfile && read_romlayout(layoutfile))
+		cli_classic_abort_usage();
+	if (process_include_args())
+		cli_classic_abort_usage();
+
 	/* Does a chip with the requested name exist in the flashchips array? */
 	if (chip_to_probe) {
 		for (flash = flashchips; flash && flash->name; flash++)
