Index: ../../../git/apache/jackrabbit-oak/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- ../../../git/apache/jackrabbit-oak/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java	(revision d230746e7802277b1bb3bd35d222b143110b7a12)
+++ ../../../git/apache/jackrabbit-oak/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java	(revision )
@@ -725,13 +725,13 @@
                 source.getInternalVersionManager().getPersistenceManager();
 
         NodeBuilder system = builder.child(JCR_SYSTEM);
-        system.setChildNode(JCR_VERSIONSTORAGE, new JackrabbitNodeState(
+        copyState(system.child(JCR_VERSIONSTORAGE),new JackrabbitNodeState(
                 pm, root, uriToPrefix, VERSION_STORAGE_NODE_ID,
                 "/jcr:system/jcr:versionStorage", copyBinariesByReference));
-        system.setChildNode("jcr:activities", new JackrabbitNodeState(
+        copyState(system.child("jcr:activities"),new JackrabbitNodeState(
                 pm, root, uriToPrefix, ACTIVITIES_NODE_ID,
                 "/jcr:system/jcr:activities", copyBinariesByReference));
-    }   
+    }
 
     private String copyWorkspace(
             NodeBuilder builder, NodeState root, String name,
@@ -744,17 +744,23 @@
 
         NodeState state = new JackrabbitNodeState(
                 pm, root, uriToPrefix, ROOT_NODE_ID, "/", copyBinariesByReference);
+
+        copyState(builder, state);
+        return name;
+    }
+
+    private void copyState(NodeBuilder builder, NodeState state) {
         for (PropertyState property : state.getProperties()) {
             builder.setProperty(property);
         }
         for (ChildNodeEntry child : state.getChildNodeEntries()) {
             String childName = child.getName();
             if (!JCR_SYSTEM.equals(childName)) {
-                builder.setChildNode(childName, child.getNodeState());
+                NodeState childNodeState = child.getNodeState();
+                NodeBuilder childBuilder = builder.child(childName);
+                copyState(childBuilder, childNodeState);
             }
         }
-
-        return name;
     }
 
 
