diff --git a/views/ngXosViews/diagnostic/src/css/serviceTopology.css b/views/ngXosViews/diagnostic/src/css/serviceTopology.css
index 595ad27..525ca41 100644
--- a/views/ngXosViews/diagnostic/src/css/serviceTopology.css
+++ b/views/ngXosViews/diagnostic/src/css/serviceTopology.css
@@ -44,6 +44,12 @@
     stroke-width: 1px;
 }
 
+logic-topology .node .instance.active rect{
+    fill: lightsteelblue;
+    stroke: steelblue;
+    stroke-width: 1px;   
+}
+
 /* LEGEND */
 
 .legend {
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)
