diff --git a/lib_arm/bootm.c b/lib_arm/bootm.c
index 08eef0b..c5e8cb3 100644
--- a/lib_arm/bootm.c
+++ b/lib_arm/bootm.c
@@ -70,6 +70,7 @@
 	char	*s;
 	int	machid = bd->bi_arch_number;
 	void	(*theKernel)(int zero, int arch, uint params);
+	int	ret;
 
 #ifdef CONFIG_CMDLINE_TAG
 	char *commandline = getenv ("bootargs");
@@ -80,12 +81,16 @@
 		ep = image_get_ep (images->legacy_hdr_os);
 #if defined(CONFIG_FIT)
 	} else if (images->fit_uname_os) {
-		fit_unsupported_reset ("ARM linux bootm");
-		do_reset (cmdtp, flag, argc, argv);
+		ret = fit_image_get_entry (images->fit_hdr_os,
+					images->fit_noffset_os, &ep);
+		if (ret) {
+			puts ("Can't get entry point property!\n");
+			goto error;
+		}
 #endif
 	} else {
 		puts ("Could not find kernel entry point!\n");
-		do_reset (cmdtp, flag, argc, argv);
+		goto error;
 	}
 	theKernel = (void (*)(int, int, uint))ep;
 
@@ -98,7 +103,7 @@
 	ret = boot_get_ramdisk (argc, argv, images, IH_ARCH_ARM,
 			&initrd_start, &initrd_end);
 	if (ret)
-		do_reset (cmdtp, flag, argc, argv);
+		goto error;
 
 	show_boot_progress (15);
 
@@ -151,6 +156,13 @@
 	cleanup_before_linux ();
 
 	theKernel (0, machid, bd->bi_boot_params);
+	/* does not return */
+	return;
+
+error:
+	if (images->autostart)
+		do_reset (cmdtp, flag, argc, argv);
+	return;
 }
 
 
