diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2TrafficMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2TrafficMessageHandler.java
index 2fa3701..182fbfb 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2TrafficMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2TrafficMessageHandler.java
@@ -85,6 +85,13 @@
         );
     }
 
+    /**
+     * Shuts down the background traffic monitoring task.
+     */
+    void ceaseAndDesist() {
+        traffic.stopMonitoring();
+    }
+
     // ==================================================================
 
     private final class Topo2AllTraffic extends RequestHandler {
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2ViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2ViewMessageHandler.java
index e577f45..cac0b8d 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2ViewMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2ViewMessageHandler.java
@@ -72,6 +72,7 @@
     private UiTopoSession topoSession;
     private Topo2Jsonifier t2json;
     private Topo2OverlayCache overlay2Cache;
+    private Topo2TrafficMessageHandler trafficHandler;
 
 
     @Override
@@ -93,6 +94,15 @@
         this.overlay2Cache = overlay2Cache;
     }
 
+    /**
+     * Sets a reference to the traffic message handler.
+     *
+     * @param traffic the traffic message handler instance
+     */
+    public void setTrafficHandler(Topo2TrafficMessageHandler traffic) {
+        trafficHandler = traffic;
+    }
+
 
     @Override
     protected Collection<RequestHandler> createRequestHandlers() {
@@ -202,12 +212,10 @@
             // client view has gone away; so shut down server-side processing
 
             log.debug("topo2Stop: {}", payload);
-            // TODO: tell traffic monitor to stop monitoring...
-            //       this requires this handler to know about traffic handler!!
+            trafficHandler.ceaseAndDesist();
 
             // OLD CODE DID THE FOLLOWING...
 //            stopSummaryMonitoring();
-//            traffic.stopMonitoring();
         }
     }
 
