diff --git a/common/fdt_support.c b/common/fdt_support.c
index 416100e394dc92d3c61f143aa807681b1a5c84ce..9a6f6b7d8b16c822496c53a62df26d3850081b29 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -458,7 +458,7 @@ void fdt_fixup_ethernet(void *fdt)
 {
 	int node, i, j;
 	char enet[16], *tmp, *end;
-	char mac[16] = "ethaddr";
+	char mac[16];
 	const char *path;
 	unsigned char mac_addr[6];
 
@@ -467,6 +467,7 @@ void fdt_fixup_ethernet(void *fdt)
 		return;
 
 	i = 0;
+	strcpy(mac, "ethaddr");
 	while ((tmp = getenv(mac)) != NULL) {
 		sprintf(enet, "ethernet%d", i);
 		path = fdt_getprop(fdt, node, enet, NULL);