diff --git a/spi.c b/spi.c
index cfb6966..48be29a 100644
--- a/spi.c
+++ b/spi.c
@@ -615,8 +615,8 @@
 
 	result = spi_send_multicommand(cmds);
 	if (result) {
-		fprintf(stderr, "%s failed during command execution\n",
-			__func__);
+		fprintf(stderr, "%s failed during command execution at address 0x%x\n",
+			__func__, addr);
 		return result;
 	}
 	/* Wait until the Write-In-Progress bit is cleared.
@@ -659,7 +659,8 @@
 
 	result = spi_send_multicommand(cmds);
 	if (result) {
-		fprintf(stderr, "%s failed during command execution\n", __func__);
+		fprintf(stderr, "%s failed during command execution at address 0x%x\n",
+			__func__, addr);
 		return result;
 	}
 	/* Wait until the Write-In-Progress bit is cleared.
@@ -721,8 +722,8 @@
 
 	result = spi_send_multicommand(cmds);
 	if (result) {
-		fprintf(stderr, "%s failed during command execution\n",
-			__func__);
+		fprintf(stderr, "%s failed during command execution at address 0x%x\n",
+			__func__, addr);
 		return result;
 	}
 	/* Wait until the Write-In-Progress bit is cleared.
@@ -827,21 +828,21 @@
 
 	result = spi_send_multicommand(cmds);
 	if (result) {
-		fprintf(stderr, "%s failed during command execution\n",
-			__func__);
+		fprintf(stderr, "%s failed during command execution at address 0x%x\n",
+			__func__, addr);
 	}
 	return result;
 }
 
-int spi_nbyte_program(int address, uint8_t *bytes, int len)
+int spi_nbyte_program(int addr, uint8_t *bytes, int len)
 {
 	int result;
 	/* FIXME: Switch to malloc based on len unless that kills speed. */
 	unsigned char cmd[JEDEC_BYTE_PROGRAM_OUTSIZE - 1 + 256] = {
 		JEDEC_BYTE_PROGRAM,
-		(address >> 16) & 0xff,
-		(address >> 8) & 0xff,
-		(address >> 0) & 0xff,
+		(addr >> 16) & 0xff,
+		(addr >> 8) & 0xff,
+		(addr >> 0) & 0xff,
 	};
 	struct spi_command cmds[] = {
 	{
@@ -874,8 +875,8 @@
 
 	result = spi_send_multicommand(cmds);
 	if (result) {
-		fprintf(stderr, "%s failed during command execution\n",
-			__func__);
+		fprintf(stderr, "%s failed during command execution at address 0x%x\n",
+			__func__, addr);
 	}
 	return result;
 }
