diff -urN a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h
--- a/include/configs/mx6sabre_common.h	2014-08-23 17:07:04.000000000 +0200
+++ b/include/configs/mx6sabre_common.h	2014-08-23 17:09:10.000000000 +0200
@@ -184,6 +184,32 @@
 		"fi;\0"
 
 #define CONFIG_BOOTCOMMAND \
+	"echo; " \
+	"echo SD/MMC device set to ${mmcdev} but checking 0, 1 and 2; " \
+	"setenv mmcdevold ${mmcdev}; " \
+	"setenv mmcdev 0; " \
+	"echo Checking mmc dev ${mmcdev} (microSD card);" \
+	"mmc dev ${mmcdev};" \
+	"if mmc rescan && run loadbootenv; then " \
+	"else " \
+	  "setenv mmcdev 1; " \
+	  "echo Checking mmc dev ${mmcdev} (SD card);" \
+	  "mmc dev ${mmcdev};" \
+	  "if mmc rescan && run loadbootenv; then " \
+	  "else " \
+	    "setenv mmcdev 2; " \
+	    "echo Checking mmc dev ${mmcdev} (internal eMMC);" \
+	    "mmc dev ${mmcdev};" \
+	    "if mmc rescan && run loadbootenv; then " \
+	    "else " \
+	      "echo No SD/MMC with uEnv.txt found on device 0 to 2;" \
+	      "setenv mmcdev ${mmcdevold}; " \
+	    "fi; " \
+	  "fi; " \
+	"fi; " \
+	"setenv mmcdevold; " \
+	"echo; " \
+	"echo Using SD/MMC device ${mmcdev};" \
 	"mmc dev ${mmcdev};" \
 	"if mmc rescan; then " \
 		"echo SD/MMC found on device ${mmcdev};" \
