diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 18d71008dad975593c898733e39287ee4d80fd86..2dffdfac883018fac9a6600a5199d30c096597ba 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -138,7 +138,6 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 
 	memset ((void *)&images, 0, sizeof (images));
 	images.verify = getenv_yesno ("verify");
-	images.autostart = getenv_yesno ("autostart");
 	images.lmb = &lmb;
 
 	lmb_init(&lmb);
diff --git a/common/image.c b/common/image.c
index c3545a7c766f5cdc2d7025c5eb2858e3ea64ea1b..180734838949087c3c571ff409998a8950999827 100644
--- a/common/image.c
+++ b/common/image.c
@@ -189,6 +189,22 @@ int image_check_dcrc (image_header_t *hdr)
 	return (dcrc == image_get_dcrc (hdr));
 }
 
+void memmove_wd (void *to, void *from, size_t len, ulong chunksz)
+{
+#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
+	while (len > 0) {
+		size_t tail = (len > chunksz) ? chunksz : len;
+		WATCHDOG_RESET ();
+		memmove (to, from, tail);
+		to += tail;
+		from += tail;
+		len -= tail;
+	}
+#else	/* !(CONFIG_HW_WATCHDOG || CONFIG_WATCHDOG) */
+	memmove (to, from, len);
+#endif	/* CONFIG_HW_WATCHDOG || CONFIG_WATCHDOG */
+}
+#endif /* USE_HOSTCC */
 
 /**
  * image_multi_count - get component (sub-image) count
diff --git a/include/image.h b/include/image.h
index 46138fa7880b8f2da8c46319ee59c41a085ef290..4b9c582718dc875ff9b10e7ca4780fcb6375b190 100644
--- a/include/image.h
+++ b/include/image.h
@@ -220,7 +220,6 @@ typedef struct bootm_headers {
 #endif
 
 	int		verify;		/* getenv("verify")[0] != 'n' */
-	int		autostart;	/* getenv("autostart")[0] != 'n' */
 	struct lmb	*lmb;		/* for memory mgmt */
 } bootm_headers_t;