diff --git a/flash.h b/flash.h
index 9f6a862..d1e417f 100644
--- a/flash.h
+++ b/flash.h
@@ -449,6 +449,7 @@
 /* spi.c */
 int probe_spi_rdid(struct flashchip *flash);
 int probe_spi_rdid4(struct flashchip *flash);
+int probe_spi_rems(struct flashchip *flash);
 int probe_spi_res(struct flashchip *flash);
 int spi_command(unsigned int writecnt, unsigned int readcnt,
 		const unsigned char *writearr, unsigned char *readarr);
diff --git a/spi.c b/spi.c
index a5b85f4..8812eff 100644
--- a/spi.c
+++ b/spi.c
@@ -61,6 +61,16 @@
 	return 0;
 }
 
+static int spi_rems(unsigned char *readarr)
+{
+	const unsigned char cmd[JEDEC_REMS_OUTSIZE] = { JEDEC_REMS, 0, 0, 0 };
+
+	if (spi_command(sizeof(cmd), JEDEC_REMS_INSIZE, cmd, readarr))
+		return 1;
+	printf_debug("REMS returned %02x %02x.\n", readarr[0], readarr[1]);
+	return 0;
+}
+
 static int spi_res(unsigned char *readarr)
 {
 	const unsigned char cmd[JEDEC_RES_OUTSIZE] = { JEDEC_RES, 0, 0, 0 };
@@ -155,6 +165,37 @@
 	return 0;
 }
 
+int probe_spi_rems(struct flashchip *flash)
+{
+	unsigned char readarr[JEDEC_REMS_INSIZE];
+	uint32_t manuf_id, model_id;
+
+	if (spi_rems(readarr))
+		return 0;
+
+	manuf_id = readarr[0];
+	model_id = readarr[1];
+
+	printf_debug("%s: id1 0x%x, id2 0x%x\n", __FUNCTION__, manuf_id,
+		     model_id);
+
+	if (manuf_id == flash->manufacture_id && model_id == flash->model_id) {
+		/* Print the status register to tell the
+		 * user about possible write protection.
+		 */
+		spi_prettyprint_status_register(flash);
+
+		return 1;
+	}
+
+	/* Test if this is a pure vendor match. */
+	if (manuf_id == flash->manufacture_id &&
+	    GENERIC_DEVICE_ID == flash->model_id)
+		return 1;
+
+	return 0;
+}
+
 int probe_spi_res(struct flashchip *flash)
 {
 	unsigned char readarr[3];
diff --git a/spi.h b/spi.h
index 54c71fc..c096dce 100644
--- a/spi.h
+++ b/spi.h
@@ -29,6 +29,11 @@
 #define JEDEC_RDID_OUTSIZE	0x01
 #define JEDEC_RDID_INSIZE	0x03
 
+/* Read Electronic Manufacturer Signature */
+#define JEDEC_REMS		0x90
+#define JEDEC_REMS_OUTSIZE	0x04
+#define JEDEC_REMS_INSIZE	0x02
+
 /* Read Electronic Signature */
 #define JEDEC_RES		0xab
 #define JEDEC_RES_OUTSIZE	0x04
