diff --git a/writeprotect.c b/writeprotect.c
index ecf471f..8f70a7c 100644
--- a/writeprotect.c
+++ b/writeprotect.c
@@ -356,16 +356,17 @@
 /** Get the mode selected by a WP configuration. */
 static int get_wp_mode(enum flashrom_wp_mode *mode, const struct wp_bits *bits)
 {
-	if (!bits->srp_bit_present)
-		return FLASHROM_WP_ERR_CHIP_UNSUPPORTED;
+	const enum flashrom_wp_mode wp_modes[2][2] = {
+		{
+			FLASHROM_WP_MODE_DISABLED,	/* srl=0, srp=0 */
+			FLASHROM_WP_MODE_HARDWARE,	/* srl=0, srp=1 */
+		}, {
+			FLASHROM_WP_MODE_POWER_CYCLE,	/* srl=1, srp=0 */
+			FLASHROM_WP_MODE_PERMANENT,	/* srl=1, srp=1 */
+		},
+	};
 
-	if (bits->srl_bit_present && bits->srl == 1) {
-		*mode = bits->srp ? FLASHROM_WP_MODE_PERMANENT :
-				    FLASHROM_WP_MODE_POWER_CYCLE;
-	} else {
-		*mode = bits->srp ? FLASHROM_WP_MODE_HARDWARE :
-				    FLASHROM_WP_MODE_DISABLED;
-	}
+	*mode = wp_modes[bits->srl][bits->srp];
 
 	return FLASHROM_WP_OK;
 }
@@ -380,6 +381,9 @@
 		return FLASHROM_WP_OK;
 
 	case FLASHROM_WP_MODE_HARDWARE:
+		if (!bits->srp_bit_present)
+			return FLASHROM_WP_ERR_CHIP_UNSUPPORTED;
+
 		bits->srl = 0;
 		bits->srp = 1;
 		return FLASHROM_WP_OK;
