diff --git a/arch/arm/mach-imx/mx5/soc.c b/arch/arm/mach-imx/mx5/soc.c
index 43d6c08b42d1a9ddd226d3cfd6339a7210826503..0b0ee039cb7578c75b437feff3dc8bec13f5d14f 100644
--- a/arch/arm/mach-imx/mx5/soc.c
+++ b/arch/arm/mach-imx/mx5/soc.c
@@ -79,8 +79,11 @@ void imx_get_mac_from_fuse(int dev_id, unsigned char *mac)
 	struct fuse_bank1_regs *fuse =
 			(struct fuse_bank1_regs *)bank->fuse_regs;
 
+#ifndef CONFIG_IIM_MAC_ADDR_INDEX
+#define CONFIG_IIM_MAC_ADDR_INDEX 0
+#endif
 	for (i = 0; i < 6; i++)
-		mac[i] = readl(&fuse->mac_addr[i]) & 0xff;
+		mac[i] = readl(&fuse->mac_addr[i + CONFIG_IIM_MAC_ADDR_INDEX]) & 0xff;
 }
 #endif