diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java
index f9063ad..f25ef91 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java
@@ -741,6 +741,7 @@
         public void event(DeviceEvent event) {
             if (event.type() != PORT_STATS_UPDATED) {
                 msgSender.execute(() -> sendMessage(deviceMessage(event)));
+                msgSender.execute(traffic::pokeIntent);
                 eventAccummulator.add(event);
             }
         }
@@ -751,6 +752,7 @@
         @Override
         public void event(LinkEvent event) {
             msgSender.execute(() -> sendMessage(linkMessage(event)));
+            msgSender.execute(traffic::pokeIntent);
             eventAccummulator.add(event);
         }
     }
@@ -760,6 +762,7 @@
         @Override
         public void event(HostEvent event) {
             msgSender.execute(() -> sendMessage(hostMessage(event)));
+            msgSender.execute(traffic::pokeIntent);
             eventAccummulator.add(event);
         }
     }
diff --git a/web/gui/src/main/webapp/app/view/topo/topoOverlay.js b/web/gui/src/main/webapp/app/view/topo/topoOverlay.js
index 63fc2c8..fb15e94 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoOverlay.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoOverlay.js
@@ -333,7 +333,7 @@
             var hdata = api.findNodeById(host.id),
                 badgeData = host.badge || null;
 
-            if (hdata && !hdata.el.empty()) {
+            if (hdata && hdata.el && !hdata.el.empty()) {
                 hdata.badge = badgeData;
                 if (!host.subdue) {
                     api.unsupNode(hdata.id, less);
@@ -346,7 +346,7 @@
             var ddata = api.findNodeById(device.id),
                 badgeData = device.badge || null;
 
-            if (ddata && !ddata.el.empty()) {
+            if (ddata && ddata.el && !ddata.el.empty()) {
                 ddata.badge = badgeData;
                 if (!device.subdue) {
                     api.unsupNode(ddata.id, less);
@@ -359,7 +359,8 @@
             var ldata = api.findLinkById(link.id),
                 lab = link.label,
                 units, portcls, magnitude;
-            if (ldata && !ldata.el.empty()) {
+
+            if (ldata && ldata.el && !ldata.el.empty()) {
                 if (!link.subdue) {
                     api.unsupLink(ldata.key, less);
                 }
