diff --git a/fdtextract.c b/fdtextract.c
index a810d4f1600e57d5be4ebac0f7aada697f786e1d..4308645d2416a16a5767a04aa8cab09fe462d8a5 100644
--- a/fdtextract.c
+++ b/fdtextract.c
@@ -158,10 +158,17 @@ static int get_hash(char *buf, char *name)
 		return -1;
 	}
 
+	val = (uint8_t *)fdt_getprop(buf, noffset, "algo", NULL);
+	if (strcmp((const char *)val, "sha256")) {
+		printf("Error: unknown hash algorithm %s\n", val);
+		return -1;
+	}
+
 	val = (uint8_t *)fdt_getprop(buf, noffset, "value", NULL);
 	for (i=0; i<SHA_256_LEN; i++)
 		printf("%x", val[i]);
-	printf("\n");
+
+	return 0;
 }
 
 int main(int argc, char *argv[])