diff --git a/htdocs/WebApplications/CustomizableApp/ViewModels/ViewModel_UnionTable.js b/htdocs/WebApplications/CustomizableApp/ViewModels/ViewModel_UnionTable.js
index abdd7964b6a2c38c0f8d4c74d084b9aa09a12b86..e2b4e6cec18fc3bc2eb58941fa82e79286c0851b 100644
--- a/htdocs/WebApplications/CustomizableApp/ViewModels/ViewModel_UnionTable.js
+++ b/htdocs/WebApplications/CustomizableApp/ViewModels/ViewModel_UnionTable.js
@@ -73,7 +73,7 @@ function CViewModel_UnionTable(aViewModel, aOptions) {
         return mViewModel.getRequestFromPath(mResponseDataPaths[0]).getData.element;
     };
 
-    this.getResponseElement = function (aReponseDataPath, aFullTableSelection) {
+    this.getResponseElement = function (aReponseDataPath, aFullTableSelection) {
         var lElement;
         if (aFullTableSelection) {
             aFullTableSelection.parents = [];
@@ -86,9 +86,9 @@ function CViewModel_UnionTable(aViewModel, aOptions) {
                 lElement = lElement[aReponseDataPath[0]];
             }
             if (lElement) {
-                var lRq = mViewModel.getRequest()[aReponseDataPath[0]];
-                for (var i = 1; i < aReponseDataPath.length && lElement; ++i) {
-                    if (lElement.list && lRq.getData.selection && lRq.getData.selection.length > 0) {
+                var lRq = mViewModel.getRequest()[aReponseDataPath[0]];
+                for (var i = 1; i < aReponseDataPath.length && lElement; ++i) {
+                    if (lElement.list && lRq.getData.selection && lRq.getData.selection.length > 0) {
                         if (aFullTableSelection) {
                             aFullTableSelection.depth--;
                             if (lElement.list[lRq.getData.selection[0]] != undefined) {
@@ -104,19 +104,21 @@ function CViewModel_UnionTable(aViewModel, aOptions) {
                             lElement = undefined;
                             break;
                         }
-                    } else if (!lRq.getData.selection || lRq.getData.selection.length === 0) {
-                        /**/
-                    } else if (lElement.node && lElement.node.childVals) {
-                        lElement = lElement.node.childVals[aReponseDataPath[i]];
-                    } else
+                    } else if (lElement.node && lElement.node.childVals) {
+                        lElement = lElement.node.childVals[aReponseDataPath[i]];
+                        aFullTableSelection.depth--;
+                        aFullTableSelection.path = aFullTableSelection.path.slice(1);
+                    } else if (!lRq.getData.selection || lRq.getData.selection.length === 0) {
+                         /**/
+                     } else
                         lElement = {
                             "error" : "cannot determine node"
                         };
-                    if (lRq.getData.children)
-                        lRq = lRq.getData.children[aReponseDataPath[i]];
+                    if (lRq.getData.children)
+                        lRq = lRq.getData.children[aReponseDataPath[i]];
                 }
             }
-        }
+        }
         return lElement;
     };