diff --git a/common/cmd_fdt.c b/common/cmd_fdt.c
index 8683772..919a0bf 100644
--- a/common/cmd_fdt.c
+++ b/common/cmd_fdt.c
@@ -574,14 +574,18 @@
 		 * Byte stream.  Convert the values.
 		 */
 		newp++;
-		while ((*newp != ']') && (stridx < count)) {
-			tmp = simple_strtoul(newp, &newp, 16);
-			*data++ = tmp & 0xFF;
-			*len    = *len + 1;
+		while ((stridx < count) && (*newp != ']')) {
 			while (*newp == ' ')
 				newp++;
-			if (*newp != '\0')
+			if (*newp == '\0') {
 				newp = newval[++stridx];
+				continue;
+			}
+			if (!isxdigit(*newp))
+				break;
+			tmp = simple_strtoul(newp, &newp, 16);
+			*data++ = tmp & 0xFF;
+			*len    = *len + 1;
 		}
 		if (*newp != ']') {
 			printf("Unexpected character '%c'\n", *newp);
@@ -589,12 +593,15 @@
 		}
 	} else {
 		/*
-		 * Assume it is a string.  Copy it into our data area for
-		 * convenience (including the terminating '\0').
+		 * Assume it is one or more strings.  Copy it into our
+		 * data area for convenience (including the
+		 * terminating '\0's).
 		 */
 		while (stridx < count) {
-			*len = strlen(newp) + 1;
+			size_t length = strlen(newp) + 1;
 			strcpy(data, newp);
+			data += length;
+			*len += length;
 			newp = newval[++stridx];
 		}
 	}
