From 7abdc73b0feb60a668a6ffa866aacecc4eef298c Mon Sep 17 00:00:00 2001
From: Sean Lilley <lilleyse@gmail.com>
Date: Tue, 29 Aug 2017 15:05:32 -0400
Subject: [PATCH] Moving loading code around

---
 Source/Scene/Cesium3DTilesetTraversal.js | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/Source/Scene/Cesium3DTilesetTraversal.js b/Source/Scene/Cesium3DTilesetTraversal.js
index 16b5af6e020a..e253f0cccd46 100644
--- a/Source/Scene/Cesium3DTilesetTraversal.js
+++ b/Source/Scene/Cesium3DTilesetTraversal.js
@@ -507,8 +507,12 @@ define([
         }
 
         if (!tile.hasTilesetContent) {
-            if (hasAdditiveContent(tile)) {
-                tileset._desiredTiles.push(tile);
+            if (tile.refine === Cesium3DTileRefine.ADD) {
+                // Always load additive tiles
+                loadTile(tileset, tile, this.frameState);
+                if (hasAdditiveContent(tile)) {
+                    tileset._desiredTiles.push(tile);
+                }
             }
 
             // stop traversal when we've attained the desired level of error
@@ -540,12 +544,7 @@ define([
             var children = tile.children;
             var childrenLength = children.length;
             for (var i = 0; i < childrenLength; ++i) {
-                var child = children[i];
-                if (child.refine === Cesium3DTileRefine.ADD) {
-                    // Additive refinement tiles are always loaded when they are reached
-                    loadTile(tileset, child, this.frameState, true);
-                }
-                touch(tileset, child, this.outOfCore);
+                touch(tileset, children[i], this.outOfCore);
             }
             return children;
         }