diff --git oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java
index 4fb210f..465d5f4 100644
--- oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java
+++ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java
@@ -277,6 +277,10 @@ public class Commit {
             }
         }
 
+        for (String p : bundledNodes.keySet()){
+            markChanged(p);
+        }
+
         // push branch changes to journal
         if (baseBranchRevision != null) {
             // store as external change
@@ -677,8 +681,12 @@ public class Commit {
                     tracker.track(path);
                 }
             }
-            nodeStore.applyChanges(before, after, rev, path, isNew,
-                    added, removed, changed, cacheEntry);
+
+            if (!bundled) {
+                nodeStore.applyChanges(before, after, rev, path, isNew,
+                        added, removed, changed);
+            }
+            nodeStore.addDiffCacheEntry(path, added, removed, changed, cacheEntry);
         }
         cacheEntry.done();
     }
diff --git oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
index a7cb050..b0252b0 100644
--- oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
+++ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
@@ -1161,8 +1161,7 @@ public final class DocumentNodeStore
     void applyChanges(RevisionVector before, RevisionVector after,
                       Revision rev, String path,
                       boolean isNew, List<String> added,
-                      List<String> removed, List<String> changed,
-                      DiffCache.Entry cacheEntry) {
+                      List<String> removed, List<String> changed) {
         if (isNew) {
             // determine the revision for the nodeChildrenCache entry when
             // the node is new. Fallback to after revision in case document
@@ -1252,7 +1251,18 @@ public final class DocumentNodeStore
                 }
             }
         }
+    }
 
+    /**
+     * Apply the changes of a node to the cache.
+     *
+     * @param path the path
+     * @param added the list of added child nodes
+     * @param removed the list of removed child nodes
+     * @param changed the list of changed child nodes
+     *
+     */
+    void addDiffCacheEntry(String path, List<String> added, List<String> removed, List<String> changed, DiffCache.Entry cacheEntry) {
         // update diff cache
         JsopWriter w = new JsopStream();
         for (String p : added) {
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 3d9bcc9..64d5391 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
@@ -39,6 +39,7 @@ import org.apache.jackrabbit.oak.plugins.document.DocumentMKBuilderProvider;
 import org.apache.jackrabbit.oak.plugins.document.DocumentNodeState;
 import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore;
 import org.apache.jackrabbit.oak.plugins.document.NodeDocument;
+import org.apache.jackrabbit.oak.plugins.document.PathRev;
 import org.apache.jackrabbit.oak.plugins.document.TestNodeObserver;
 import org.apache.jackrabbit.oak.plugins.document.memory.MemoryDocumentStore;
 import org.apache.jackrabbit.oak.plugins.document.util.Utils;
@@ -511,6 +512,29 @@ public class DocumentBundlingTest {
     }
 
     @Test
+    public void bundledNodeAndNodeChildrenCache() throws Exception{
+        NodeBuilder builder = store.getRoot().builder();
+        NodeBuilder appNB = newNode("app:Asset");
+        createChild(appNB,
+                "jcr:content",
+                "jcr:content/comments", //not bundled
+                "jcr:content/metadata",
+                "jcr:content/metadata/xmp", //not bundled
+                "jcr:content/renditions", //includes all
+                "jcr:content/renditions/original",
+                "jcr:content/renditions/original/jcr:content"
+        );
+        builder.child("test").setChildNode("book.jpg", appNB.getNodeState());
+
+        merge(builder);
+
+        Set<PathRev> cachedPaths = store.getNodeChildrenCache().asMap().keySet();
+        for (PathRev pr : cachedPaths){
+            assertFalse(pr.getPath().contains("jcr:content/renditions"));
+        }
+    }
+
+    @Test
     public void recreatedBundledNode() throws Exception{
         NodeBuilder builder = store.getRoot().builder();
         NodeBuilder fileNode = newNode("nt:file");
@@ -617,7 +641,6 @@ public class DocumentBundlingTest {
         assertFalse(hasNodeProperty("/test/book.jpg", concat("comments", DocumentBundlor.META_PROP_NODE)));
     }
 
-    @Ignore("OAK-5070")
     @Test
     public void journalDiffAndBundling() throws Exception{
         NodeBuilder builder = store.getRoot().builder();
