diff --git a/platform/core/src/models/ModelAggregator.js b/platform/core/src/models/ModelAggregator.js
index 933674f83a..c2d331fd55 100644
--- a/platform/core/src/models/ModelAggregator.js
+++ b/platform/core/src/models/ModelAggregator.js
@@ -18,6 +18,19 @@ define(
          */
         function ModelAggregator($q, providers) {
 
+            // Pick a domain object model to use, favoring the one
+            // with the most recent timestamp
+            function pick(a, b) {
+                if (!a) {
+                    return b;
+                }
+                if (!b) {
+                    return b;
+                }
+                return (a.modified || Number.NEGATIVE_INFINITY) >
+                    (b.modified || Number.NEGATIVE_INFINITY) ? a : b;
+            }
+
             // Merge results from multiple providers into one
             // large result object.
             function mergeModels(provided, ids) {
@@ -25,7 +38,7 @@ define(
                 ids.forEach(function (id) {
                     provided.forEach(function (models) {
                         if (models[id]) {
-                            result[id] = models[id];
+                            result[id] = pick(result[id], models[id]);
                         }
                     });
                 });