diff --git a/views/ngXosViews/diagnostic/src/js/logicTopology.js b/views/ngXosViews/diagnostic/src/js/logicTopology.js
index 9d02829..ed1fcbb 100644
--- a/views/ngXosViews/diagnostic/src/js/logicTopology.js
+++ b/views/ngXosViews/diagnostic/src/js/logicTopology.js
@@ -11,7 +11,7 @@
       bindToController: true,
       controllerAs: 'vm',
       template: '',
-      controller: function($element, $log, $scope, d3, LogicTopologyHelper, Node){
+      controller: function($element, $log, $scope, $rootScope, d3, LogicTopologyHelper, Node){
         $log.info('Logic Plane');
 
         var svg;
@@ -45,6 +45,14 @@
           }
         });
 
+        $rootScope.$on('instance.detail', (evt, instance) => {
+
+          $log.info(`Highlight instance; ${instance.id}`)
+
+          LogicTopologyHelper.getInstanceStatus(instance.id);
+          LogicTopologyHelper.updateTree(svg);
+        })
+
         handleSvg($element[0]);
         LogicTopologyHelper.setupTree(svg);
       }
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;
+
     }
   });
 
diff --git a/views/ngXosViews/diagnostic/src/js/nodeDrawer.js b/views/ngXosViews/diagnostic/src/js/nodeDrawer.js
index f84524e..1a45f03 100644
--- a/views/ngXosViews/diagnostic/src/js/nodeDrawer.js
+++ b/views/ngXosViews/diagnostic/src/js/nodeDrawer.js
@@ -161,7 +161,10 @@
       instanceContainer
       .attr({
         transform: `translate(${width / 2}, ${ height / 2})`,
-        class: 'instance',
+        class: d => {
+          console.log(d.name, d.selected);
+          return `instance ${d.selected ? 'active' : ''}`
+        },
       })
       .transition()
       .duration(serviceTopologyConfig.duration)
