diff --git a/src/widget/multilayerselecttree/multilayerselecttree.trigger.js b/src/widget/multilayerselecttree/multilayerselecttree.trigger.js
index f59ab6251..179aeeec2 100644
--- a/src/widget/multilayerselecttree/multilayerselecttree.trigger.js
+++ b/src/widget/multilayerselecttree/multilayerselecttree.trigger.js
@@ -161,6 +161,7 @@ BI.MultiLayerSelectTreeTrigger = BI.inherit(BI.Trigger, {
             result.push(node);
             result = result.concat(self._getChildren(node));
         });
+        queue.reverse();
         while (BI.isNotEmptyArray(queue)) {
             var node = queue.pop();
             var pNode = this.tree.search(this.tree.getRoot(), node.pId, "id");
diff --git a/src/widget/multilayersingletree/multilayersingletree.trigger.js b/src/widget/multilayersingletree/multilayersingletree.trigger.js
index 8c58b0c8c..e00394a38 100644
--- a/src/widget/multilayersingletree/multilayersingletree.trigger.js
+++ b/src/widget/multilayersingletree/multilayersingletree.trigger.js
@@ -170,6 +170,7 @@ BI.MultiLayerSingleTreeTrigger = BI.inherit(BI.Trigger, {
             result.push(node);
             result = result.concat(self._getChildren(node));
         });
+        queue.reverse();
         while (BI.isNotEmptyArray(queue)) {
             var node = queue.pop();
             var pNode = this.tree.search(this.tree.getRoot(), node.pId, "id");