diff --git a/app/controllers/deployments/single.js b/app/controllers/deployments/single.js
index d03195c2d6e2c555c55389e4408190dba99534be..7ebb0b8533139267848b9f67045d9691c9398fde 100644
--- a/app/controllers/deployments/single.js
+++ b/app/controllers/deployments/single.js
@@ -14,8 +14,9 @@ export default Ember.Controller.extend({
     init() {
         this.debug('initializing controller');
     },
-    // gets automatically updated when any of the instances changes (updated from changelog stream)
-    graphModel: Ember.computed(`model.instances.{${observables.join(',')}}.[]`, function() {
+    // gets automatically updated when any of the instances changes, changes are notified via a pseudo property 'updated'
+    // using @each will also listen if the array itself changes. Can be quite expensive.
+    graphModel: Ember.computed(`model.instances.{${observables.join(',')}}.@each._updated`, function() {
         const systemId = this.get('model.systemId');
         const instances = this.get('model.instances');
         /*
diff --git a/app/services/changelog-parser.js b/app/services/changelog-parser.js
index f6eb15975349ef28a18661a30b23784f41b17d7f..ca36fb98c2e056c6bd93b7cf4e817f650f6f48fb 100644
--- a/app/services/changelog-parser.js
+++ b/app/services/changelog-parser.js
@@ -1,5 +1,6 @@
 import Ember from 'ember';
 
+// TODO: update cytoscape instead of complete rerender
 export default Ember.Service.extend({
     store: Ember.inject.service(),
     parse(changelogs) {
@@ -21,7 +22,7 @@ export default Ember.Service.extend({
             const normalized = store.normalize(data.type, data); // using application serializer
             store.push(normalized);
         },
-        UPDATE(changelog) { // FIXME: does not update view!
+        UPDATE(changelog) {
             const data = changelog.data;
             const oldRecord = this.get('store').peekRecord(data.type, data.id);
             this.debug('oldRecord', oldRecord);
@@ -29,6 +30,7 @@ export default Ember.Service.extend({
                 throw new Error(`old record for update operation not found! Id: ${data.id}`);
             }
             oldRecord.setProperties(data);
+            oldRecord.notifyPropertyChange('_updated'); // notify about pseudo property, can be listened on (see deployments/single controller)
         },
         DELETE(changelog) {
             const data = changelog.data;