diff --git a/common/cmd_md5sum.c b/common/cmd_md5sum.c
index fbe0aba..3f81fdf 100644
--- a/common/cmd_md5sum.c
+++ b/common/cmd_md5sum.c
@@ -28,6 +28,32 @@
 #include <command.h>
 #include <u-boot/md5.h>
 
+/*
+ * Store the resulting sum to an address or variable
+ */
+static void store_result(const u8 *sum, const char *dest)
+{
+	unsigned int i;
+
+	if (*dest == '*') {
+		u8 *ptr;
+
+		ptr = (u8 *)simple_strtoul(dest + 1, NULL, 16);
+		for (i = 0; i < 16; i++)
+			*ptr++ = sum[i];
+	} else {
+		char str_output[33];
+		char *str_ptr = str_output;
+
+		for (i = 0; i < 16; i++) {
+			sprintf(str_ptr, "%02x", sum[i]);
+			str_ptr += 2;
+		}
+		str_ptr = '\0';
+		setenv(dest, str_output);
+	}
+}
+
 #ifdef CONFIG_MD5SUM_VERIFY
 static int parse_verify_sum(char *verify_str, u8 *vsum)
 {
@@ -94,6 +120,9 @@
 		for (i = 0; i < 16; i++)
 			printf("%02x", output[i]);
 		printf("\n");
+
+		if (ac > 2)
+			store_result(output, *av);
 	} else {
 		char *verify_str = *av++;
 
@@ -136,6 +165,9 @@
 		printf("%02x", output[i]);
 	printf("\n");
 
+	if (argc > 3)
+		store_result(output, argv[3]);
+
 	return 0;
 }
 #endif
@@ -144,15 +176,16 @@
 U_BOOT_CMD(
 	md5sum,	5,	1,	do_md5sum,
 	"compute MD5 message digest",
-	"address count\n"
-		"    - compute MD5 message digest\n"
+	"address count [[*]sum]\n"
+		"    - compute MD5 message digest [save to sum]\n"
 	"md5sum -v address count [*]sum\n"
 		"    - verify md5sum of memory area"
 );
 #else
 U_BOOT_CMD(
-	md5sum,	3,	1,	do_md5sum,
+	md5sum,	4,	1,	do_md5sum,
 	"compute MD5 message digest",
-	"address count"
+	"address count [[*]sum]\n"
+		"    - compute MD5 message digest [save to sum]"
 );
 #endif
