diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java
index 4ccf9ea..ffc558d 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java
@@ -42,14 +42,18 @@
     private final Set<UiWebSocket> sockets = new HashSet<>();
     private final Timer timer = new Timer();
     private final TimerTask pruner = new Pruner();
+    private boolean isStopped = false;
 
     /**
      * Closes all currently open UI web-sockets.
      */
     public static void closeAll() {
         if (instance != null) {
+            instance.isStopped = true;
             instance.sockets.forEach(UiWebSocket::close);
             instance.sockets.clear();
+            instance.pruner.cancel();
+            instance.timer.cancel();
         }
     }
 
@@ -62,6 +66,9 @@
 
     @Override
     public WebSocket doWebSocketConnect(HttpServletRequest request, String protocol) {
+        if (isStopped) {
+            return null;
+        }
         UiWebSocket socket = new UiWebSocket(directory);
         synchronized (sockets) {
             sockets.add(socket);
