diff --git oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitDiff.java oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitDiff.java
index 0cc9092..d4ccf1a 100644
--- oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitDiff.java
+++ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitDiff.java
@@ -102,7 +102,7 @@ class CommitDiff implements NodeStateDiff {
         //TODO [bundling] Handle change of primaryType. Current approach would work
         //but if bundling was enabled for previous nodetype its "side effect"
         //would still impact even though new nodetype does not have bundling enabled
-        BundlingHandler child = bundlingHandler.childChanged(name, after);
+        BundlingHandler child = bundlingHandler.childChanged(name, before, after);
         return after.compareAgainstBaseState(before,
                 new CommitDiff(store, commit, child, builder, blobs));
     }
diff --git oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingHandler.java oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingHandler.java
index e5db9be..e744a88 100644
--- oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingHandler.java
+++ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingHandler.java
@@ -126,17 +126,20 @@ public class BundlingHandler {
         return new BundlingHandler(registry, childContext, childPath, state);
     }
 
-    public BundlingHandler childChanged(String name, NodeState state){
+    public BundlingHandler childChanged(String name, NodeState before, NodeState after){
         String childPath = childPath(name);
         BundlingContext childContext;
         Matcher childMatcher = ctx.matcher.next(name);
         if (childMatcher.isMatch()) {
             childContext = createChildContext(childMatcher);
         } else {
-            childContext = getBundlorContext(childPath, state);
+            //Use the before state for looking up bundlor config
+            //as after state may have been recreated all together
+            //and bundlor config might have got lost
+            childContext = getBundlorContext(childPath, before);
         }
 
-        return new BundlingHandler(registry, childContext,  childPath, state);
+        return new BundlingHandler(registry, childContext,  childPath, after);
     }
 
     public boolean isBundlingRoot() {
diff --git oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java
index d12d61f..a0b58ba 100644
--- oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java
+++ oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlingTest.java
@@ -672,7 +672,6 @@ public class DocumentBundlingTest {
         merge(builder);
     }
 
-    @Ignore("OAK-6267")
     @Test
     public void recreatedBundledNode2() throws Exception{
         NodeBuilder builder = store.getRoot().builder();
diff --git oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/document/VersionedDocumentBundlingTest.java oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/document/VersionedDocumentBundlingTest.java
index 9b0a0f3..56c7e34 100644
--- oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/document/VersionedDocumentBundlingTest.java
+++ oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/document/VersionedDocumentBundlingTest.java
@@ -117,8 +117,6 @@ public class VersionedDocumentBundlingTest {
         assertNull(getNodeDocument(concat(versionedPath, "jcr:content")));
     }
 
-    //OAK-6267
-    @Ignore("OAK-6267")
     @Test
     public void restoreVersionedNode() throws Exception{
         String assetParentPath = "/bundlingtest/par";
