diff --git a/cli_classic.c b/cli_classic.c
index b415076..cf3874c 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -31,87 +31,20 @@
 #include "flashchips.h"
 #include "programmer.h"
 
-#if CONFIG_INTERNAL == 1
-static enum programmer default_programmer = PROGRAMMER_INTERNAL;
-#elif CONFIG_DUMMY == 1
-static enum programmer default_programmer = PROGRAMMER_DUMMY;
-#else
-/* If neither internal nor dummy are selected, we must pick a sensible default.
- * Since there is no reason to prefer a particular external programmer, we fail
- * if more than one of them is selected. If only one is selected, it is clear
- * that the user wants that one to become the default.
- */
-#if CONFIG_NIC3COM+CONFIG_NICREALTEK+CONFIG_NICNATSEMI+CONFIG_GFXNVIDIA+CONFIG_DRKAISER+CONFIG_SATASII+CONFIG_ATAHPT+CONFIG_FT2232_SPI+CONFIG_SERPROG+CONFIG_BUSPIRATE_SPI+CONFIG_DEDIPROG+CONFIG_RAYER_SPI+CONFIG_NICINTEL+CONFIG_NICINTEL_SPI+CONFIG_OGP_SPI+CONFIG_SATAMV > 1
-#error Please enable either CONFIG_DUMMY or CONFIG_INTERNAL or disable support for all programmers except one.
-#endif
-static enum programmer default_programmer =
-#if CONFIG_NIC3COM == 1
-	PROGRAMMER_NIC3COM
-#endif
-#if CONFIG_NICREALTEK == 1
-	PROGRAMMER_NICREALTEK
-#endif
-#if CONFIG_NICNATSEMI == 1
-	PROGRAMMER_NICNATSEMI
-#endif
-#if CONFIG_GFXNVIDIA == 1
-	PROGRAMMER_GFXNVIDIA
-#endif
-#if CONFIG_DRKAISER == 1
-	PROGRAMMER_DRKAISER
-#endif
-#if CONFIG_SATASII == 1
-	PROGRAMMER_SATASII
-#endif
-#if CONFIG_ATAHPT == 1
-	PROGRAMMER_ATAHPT
-#endif
-#if CONFIG_FT2232_SPI == 1
-	PROGRAMMER_FT2232_SPI
-#endif
-#if CONFIG_SERPROG == 1
-	PROGRAMMER_SERPROG
-#endif
-#if CONFIG_BUSPIRATE_SPI == 1
-	PROGRAMMER_BUSPIRATE_SPI
-#endif
-#if CONFIG_DEDIPROG == 1
-	PROGRAMMER_DEDIPROG
-#endif
-#if CONFIG_RAYER_SPI == 1
-	PROGRAMMER_RAYER_SPI
-#endif
-#if CONFIG_NICINTEL == 1
-	PROGRAMMER_NICINTEL
-#endif
-#if CONFIG_NICINTEL_SPI == 1
-	PROGRAMMER_NICINTEL_SPI
-#endif
-#if CONFIG_OGP_SPI == 1
-	PROGRAMMER_OGP_SPI
-#endif
-#if CONFIG_SATAMV == 1
-	PROGRAMMER_SATAMV
-#endif
-#if CONFIG_LINUX_SPI == 1
-	PROGRAMMER_LINUX_SPI
-#endif
-;
-#endif
-
 static void cli_classic_usage(const char *name)
 {
-	printf("Usage: flashrom [-n] [-V] [-f] [-h|-R|-L|"
+	printf("Usage: flashrom [-h|-R|-L|"
 #if CONFIG_PRINT_WIKI == 1
-	         "-z|"
+		"-z|"
 #endif
-	         "-E|-r <file>|-w <file>|-v <file>]\n"
-	       "       [-c <chipname>] [-l <file>] [-o <file>]\n"
-	       "       [-i <image>] [-p <programmername>[:<parameters>]]\n\n");
+		"-p <programmername>[:<parameters>]\n"
+	       "                   [-E|-r <file>|-w <file>|-v <file>] [-c <chipname>]\n"
+	       "                   [-l <file> [-i <image>]] [-n] [-f]]\n"
+	       "                [-V[V[V]]] [-o <logfile>]\n\n");
 
 	printf("Please note that the command line interface for flashrom has "
 	         "changed between\n"
-	       "0.9.1 and 0.9.2 and will change again before flashrom 1.0.\n"
+	       "0.9.5 and 0.9.6 and will change again before flashrom 1.0.\n"
 	       "Do not use flashrom in scripts or other automated tools "
 	         "without checking\n"
 	       "that your flashrom version won't interpret options in a "
@@ -360,8 +293,9 @@
 				}
 			}
 			if (prog == PROGRAMMER_INVALID) {
-				fprintf(stderr, "Error: Unknown programmer "
-					"%s.\n", optarg);
+				fprintf(stderr, "Error: Unknown programmer \"%s\". Valid choices are:\n",
+					optarg);
+				list_programmers_linebreak(0, 80, 0);
 				cli_classic_abort_usage();
 			}
 			break;
@@ -468,8 +402,13 @@
 		flash = NULL;
 	}
 
-	if (prog == PROGRAMMER_INVALID)
-		prog = default_programmer;
+	if (prog == PROGRAMMER_INVALID) {
+		msg_perr("Please select a programmer with the --programmer parameter.\n"
+			 "Valid choices are:\n");
+		list_programmers_linebreak(0, 80, 0);
+		ret = 1;
+		goto out;
+	}
 
 	/* FIXME: Delay calibration should happen in programmer code. */
 	myusec_calibrate_delay();
diff --git a/flashrom.8 b/flashrom.8
index e104bce..93df1a2 100644
--- a/flashrom.8
+++ b/flashrom.8
@@ -2,13 +2,12 @@
 .SH NAME
 flashrom \- detect, read, write, verify and erase flash chips
 .SH SYNOPSIS
-.B flashrom \fR[\fB\-n\fR] [\fB\-V\fR] [\fB\-f\fR] [\fB\-h\fR|\fB\-R\fR|\
-\fB\-L\fR|\fB\-z\fR|\fB\-E\fR|\fB\-r\fR <file>|\fB\-w\fR <file>|\
-\fB\-v\fR <file>]
-         [\fB\-c\fR <chipname>] \
-[\fB\-l\fR <file>]
-         [\fB\-i\fR <image>] [\fB\-p\fR <programmername>[:<parameters>]]
-         [\fB-o\fR <logfile>]
+.B flashrom \fR[\fB\-h\fR|\fB\-R\fR|\fB\-L\fR|\fB\-z\fR|\
+\fB\-p\fR <programmername>[:<parameters>]
+               [\fB\-E\fR|\fB\-r\fR <file>|\fB\-w\fR <file>|\fB\-v\fR <file>] \
+[\fB\-c\fR <chipname>]
+               [\fB\-l\fR <file> [\fB\-i\fR <image>]] [\fB\-n\fR] [\fB\-f\fR]]
+         [\fB\-V\fR[\fBV\fR[\fBV\fR]]] [\fB-o\fR <logfile>]
 .SH DESCRIPTION
 .B flashrom
 is a utility for detecting, reading, writing, verifying and erasing flash
@@ -64,7 +63,7 @@
 feel that the time for verification takes too long.
 .sp
 Typical usage is:
-.B "flashrom \-n \-w <file>"
+.B "flashrom \-p prog \-n \-w <file>"
 .sp
 This option is only useful in combination with
 .BR \-\-write .
@@ -106,31 +105,39 @@
 .BR <file> .
 .sp
 flashrom supports ROM layouts. This allows you to flash certain parts of
-the flash chip only. A ROM layout file looks like follows:
+the flash chip only. A ROM layout file contains multiple lines with the
+following syntax:
+.sp
+.B "  startaddr:endaddr imagename"
+.sp
+.BR "startaddr " "and " "endaddr "
+are hexadecimal addresses within the ROM file and do not refer to any
+physical address. Please note that using a 0x prefix for those hexadecimal
+numbers is not necessary, but you can't specify decimal/octal numbers.
+.BR "imagename " "is an arbitrary name for the region/image from"
+.BR " startaddr " "to " "endaddr " "(both addresses included)."
+.sp
+Example:
 .sp
   00000000:00008fff gfxrom
   00009000:0003ffff normal
   00040000:0007ffff fallback
 .sp
-  i.e.:
-  startaddr:endaddr name
+If you only want to update the image named
+.BR "normal " "in a ROM based on the layout above, run"
 .sp
-All addresses are offsets within the file, not absolute addresses!
-If you only want to update the normal image in a ROM you can say:
+.B "  flashrom \-p prog \-\-layout rom.layout \-\-image normal \-w some.rom"
 .sp
-.B "  flashrom \-\-layout rom.layout \-\-image normal \-w agami_aruma.rom"
+To update only the images named 
+.BR "normal " "and " "fallback" ", run:"
 .sp
-To update normal and fallback but leave the VGA BIOS alone, say:
+.B "  flashrom \-p prog \-l rom.layout \-i normal -i fallback \-w some.rom"
 .sp
-.B "  flashrom \-l rom.layout \-i normal \"
-.br
-.B "           \-i fallback \-w agami_aruma.rom"
-.sp
-Currently overlapping sections are not supported.
+Overlapping sections are not supported.
 .TP
-.B "\-i, \-\-image <name>"
-Only flash image
-.B <name>
+.B "\-i, \-\-image <imagename>"
+Only flash region/image
+.B <imagename>
 from flash layout.
 .TP
 .B "\-L, \-\-list\-supported"
@@ -156,7 +163,8 @@
 Please note that MediaWiki output is not compiled in by default.
 .TP
 .B "\-p, \-\-programmer <name>[:parameter[,parameter[,parameter]]]"
-Specify the programmer device. Currently supported are:
+Specify the programmer device. This is mandatory for all operations
+involving any chip access (probe/read/write/...). Currently supported are:
 .sp
 .BR "* internal" " (default, for in-system flashing in the mainboard)"
 .sp
@@ -330,7 +338,8 @@
 .sp
 .B "  flashrom \-p internal:ich_spi_mode=value"
 .sp
-syntax where value can be
+syntax where
+.BR "value " "can be"
 .BR auto ", " swseq " or " hwseq .
 By default
 .RB "(or when setting " ich_spi_mode=auto )
@@ -360,7 +369,9 @@
 .sp
 .B "  flashrom \-p internal:fwh_idsel=value"
 .sp
-syntax where value is the 48-bit hexadecimal raw value to be written in the
+syntax where
+.B value
+is the 48-bit hexadecimal raw value to be written in the
 IDSEL registers of the Intel southbridge. The upper 32 bits use one hex digit
 each per 512 kB range between 0xffc00000 and 0xffffffff, and the lower 16 bits
 use one hex digit each per 1024 kB range between 0xff400000 and 0xff7fffff.
@@ -486,7 +497,9 @@
 .sp
 .B "  flashrom -p dummy:spi_blacklist=commandlist"
 .sp
-syntax where commandlist is a list of two-digit hexadecimal representations of
+syntax where
+.B commandlist
+is a list of two-digit hexadecimal representations of
 SPI commands. If commandlist is e.g. 0302, flashrom will behave as if the SPI
 controller refuses to run command 0x03 (READ) and command 0x02 (WRITE).
 commandlist may be up to 512 characters (256 commands) long.
@@ -500,7 +513,9 @@
 .sp
 .B "  flashrom -p dummy:spi_ignorelist=commandlist"
 .sp
-syntax where commandlist is a list of two-digit hexadecimal representations of
+syntax where
+.B commandlist
+is a list of two-digit hexadecimal representations of
 SPI commands. If commandlist is e.g. 0302, the emulated flash chip will ignore
 command 0x03 (READ) and command 0x02 (WRITE).  commandlist may be up to 512
 characters (256 commands) long.
@@ -513,7 +528,9 @@
 .sp
 .B "  flashrom -p dummy:spi_status=content"
 .sp
-syntax where content is an 8-bit hexadecimal value.
+syntax where
+.B content
+is an 8-bit hexadecimal value.
 .SS
 .BR "nic3com" , " nicrealtek" , " nicsmc1211" , " nicnatsemi" , " nicintel\
 " , " nicintel_spi" , " gfxnvidia" , " ogp_spi" , " drkaiser" , " satasii\
diff --git a/flashrom.c b/flashrom.c
index 0fdcd5f..fc52c4a 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -59,6 +59,10 @@
 /* Is writing allowed with this programmer? */
 int programmer_may_write;
 
+#if CONFIG_INTERNAL+CONFIG_DUMMY+CONFIG_NIC3COM+CONFIG_NICREALTEK+CONFIG_NICNATSEMI+CONFIG_GFXNVIDIA+CONFIG_DRKAISER+CONFIG_SATASII+CONFIG_ATAHPT+CONFIG_FT2232_SPI+CONFIG_SERPROG+CONFIG_BUSPIRATE_SPI+CONFIG_DEDIPROG+CONFIG_RAYER_SPI+CONFIG_PONY_SPI+CONFIG_NICINTEL+CONFIG_NICINTEL_SPI+CONFIG_OGP_SPI+CONFIG_SATAMV+CONFIG_LINUX_SPI < 1
+#error You have to enable at least one programmer!
+#endif
+
 const struct programmer_entry programmer_table[] = {
 #if CONFIG_INTERNAL == 1
 	{
