diff --git a/src/app/service-graph/services/graph.store.ts b/src/app/service-graph/services/graph.store.ts
index 0dd6653..0edba0f 100644
--- a/src/app/service-graph/services/graph.store.ts
+++ b/src/app/service-graph/services/graph.store.ts
@@ -23,6 +23,7 @@
 import {BehaviorSubject} from 'rxjs/BehaviorSubject';
 import {Observable} from 'rxjs/Observable';
 import {IXosBaseModel, IXosSgLink, IXosSgNode} from '../interfaces';
+import {IWSEvent, IWSEventService} from '../../datasources/websocket/global';
 
 
 export interface IXosGraphStore {
@@ -41,7 +42,8 @@
   static $inject = [
     '$log',
     'XosModelStore',
-    'XosDebouncer'
+    'XosDebouncer',
+    'WebSocket'
   ];
 
   // graphs
@@ -64,7 +66,8 @@
   constructor (
     private $log: ng.ILogService,
     private XosModelStore: IXosModelStoreService,
-    private XosDebouncer: IXosDebouncer
+    private XosDebouncer: IXosDebouncer,
+    private webSocket: IWSEventService,
   ) {
     this.$log.info('[XosGraphStore] Setup');
 
@@ -72,6 +75,34 @@
     this.ServiceGraphSubject = new BehaviorSubject(this.serviceGraph);
 
     this.loadData();
+
+    // handle model deletion
+    this.webSocket.list()
+      .filter((e: IWSEvent) => {
+
+        const model = this.getModelType(e.msg.object);
+
+        switch (model) {
+          case 'service':
+          case 'serviceinstance':
+          case 'instance':
+          case 'network':
+            return true;
+          case 'servicedependency':
+          case 'serviceinstanceLink':
+            // NOTE ServiceDependency are considered links, they are automatically removed by the graph library
+            return false;
+          default:
+            return false;
+        }
+      })
+      .subscribe((event: IWSEvent) => {
+        if (event.deleted) {
+          const nodeId = this.getNodeId(event.msg.object);
+          this.serviceGraph.removeNode(nodeId);
+          this.efficientNext(this.ServiceGraphSubject, this.serviceGraph);
+        }
+      });
   }
 
   $onDestroy() {
