diff --git a/board/mcc200/auto_update.c b/board/mcc200/auto_update.c
index 63e4139fc24da9d72eb53f376642cc2caf2e557c..f1bb72128480d1fc4c91d5030ee83f1ca473e433 100644
--- a/board/mcc200/auto_update.c
+++ b/board/mcc200/auto_update.c
@@ -121,10 +121,10 @@ struct flash_layout aufl_layout[AU_MAXFILES] = { \
 #define I2C_PSOC_KEYPAD_ADDR	0x53
 
 /* keypad mask */
-#define KEYPAD_ROW	3
-#define KEYPAD_COL	3
-#define KEYPAD_MASK_LO	((1<<(KEYPAD_COL-1+(KEYPAD_ROW*4-4)))&0xFF)
-#define KEYPAD_MASK_HI	((1<<(KEYPAD_COL-1+(KEYPAD_ROW*4-4)))>>8)
+#define KEYPAD_ROW	2
+#define KEYPAD_COL	2
+#define KEYPAD_MASK_LO	((1<<(KEYPAD_COL-1+(KEYPAD_ROW*3-3)))&0xFF)
+#define KEYPAD_MASK_HI	((1<<(KEYPAD_COL-1+(KEYPAD_ROW*3-3)))>>8)
 
 /* externals */
 extern int fat_register_device(block_dev_desc_t *, int);
diff --git a/board/mcc200/mcc200.c b/board/mcc200/mcc200.c
index 67969a601092c273c8678f6783117048e9f71c44..554c51d93fa29726951c37a869ef373cd6c9ca21 100644
--- a/board/mcc200/mcc200.c
+++ b/board/mcc200/mcc200.c
@@ -228,10 +228,6 @@ int misc_init_r (void)
 {
 	ulong flash_sup_end, snum;
 
-#ifdef CONFIG_AUTO_UPDATE
-	/* this has priority over all else */
-	do_auto_update();
-#endif
 	/*
 	 * Adjust flash start and offset to detected values
 	 */
@@ -294,6 +290,9 @@ int misc_init_r (void)
 		flash_info[0].sector_count = snum;
 	}
 
+#ifdef CONFIG_AUTO_UPDATE
+        do_auto_update();
+#endif
 	return (0);
 }