diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 0ef3e5ebc6347a3a32490554f09581943299d57e..dc993d540872c4043ac04540d4b5590e88e10043 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -293,7 +293,8 @@ static int bootm_start(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 		return 1;
 	}
 
-	if (images.os.os == IH_OS_LINUX) {
+	if ((images.os.type == IH_TYPE_KERNEL) &&
+	    (images.os.os == IH_OS_LINUX)) {
 		/* find ramdisk */
 		ret = boot_get_ramdisk (argc, argv, &images, IH_INITRD_ARCH,
 				&images.rd_start, &images.rd_end);