diff --git a/views/ngXosViews/diagnostic/src/js/logicTopologyHelper.js b/views/ngXosViews/diagnostic/src/js/logicTopologyHelper.js
index 077ad6e..d2b48ea 100644
--- a/views/ngXosViews/diagnostic/src/js/logicTopologyHelper.js
+++ b/views/ngXosViews/diagnostic/src/js/logicTopologyHelper.js
@@ -108,11 +108,11 @@
         transform: `translate(${svgWidth / 2}, ${svgHeight / 2})`
       });
 
-      NodeDrawer.addNetworks(nodeEnter.filter('.network'));
-      NodeDrawer.addRack(nodeEnter.filter('.rack'));
-      NodeDrawer.addPhisical(nodeEnter.filter('.router'));
-      NodeDrawer.addPhisical(nodeEnter.filter('.subscriber'));
-      NodeDrawer.addDevice(nodeEnter.filter('.device'));
+      NodeDrawer.addNetworks(node.filter('.network'));
+      NodeDrawer.addRack(node.filter('.rack'));
+      NodeDrawer.addPhisical(node.filter('.router'));
+      NodeDrawer.addPhisical(node.filter('.subscriber'));
+      NodeDrawer.addDevice(node.filter('.device'));
 
       // Transition nodes to their new position.
       var nodeUpdate = node.transition()
@@ -201,6 +201,24 @@
    
     this.addComputeNodes = (computeNodes) => {
       baseData.children[0].children[0].computeNodes = computeNodes;
+    };
+
+    this.getInstanceStatus = (instanceId) => {
+
+      const computeNodes = baseData.children[0].children[0].computeNodes;
+
+      let targetInstance = computeNodes.reduce((selected, node) => {
+        let found = lodash.find(node.instances, {id: instanceId});
+
+        if(found){
+          return found;
+        }
+      }, null);
+
+      // object are passed by reference,
+      // updating this update the instance in the tree
+      targetInstance.selected = true;
+
     }
   });
 
