Index: boot/genarch/ofw_tree.c
===================================================================
--- boot/genarch/ofw_tree.c	(revision 59b2adb4808ec5724445deaa809570893f7fa924)
+++ boot/genarch/ofw_tree.c	(revision 0832b4dbf61c47e06454103bfe90ded222688108)
@@ -83,4 +83,5 @@
 	static char path[MAX_PATH_LEN+1];
 	static char name[OFW_TREE_PROPERTY_MAX_NAMELEN];
+	static char name2[OFW_TREE_PROPERTY_MAX_NAMELEN];
 	phandle peer;
 	phandle child;
@@ -140,7 +141,9 @@
 		 */
 		name[0] = '\0';
-		while (ofw_next_property(current, name, name) == 1)
+		while (ofw_next_property(current, name, name2) == 1) {
 			current_node->properties++;
-	
+			memcpy(name, name2, OFW_TREE_PROPERTY_MAX_NAMELEN);
+		}
+
 		if (!current_node->properties)
 			return;
@@ -154,5 +157,5 @@
 		
 		name[0] = '\0';
-		for (i = 0; ofw_next_property(current, name, name) == 1; i++) {
+		for (i = 0; ofw_next_property(current, name, name2) == 1; i++) {
 			size_t size;
 		
@@ -160,4 +163,5 @@
 				break;
 		
+			memcpy(name, name2, OFW_TREE_PROPERTY_MAX_NAMELEN);
 			memcpy(current_node->property[i].name, name,
 				OFW_TREE_PROPERTY_MAX_NAMELEN);
