diff --git a/routers/events/events.go b/routers/events/events.go
index aa8e2c8c74..7542f5681a 100644
--- a/routers/events/events.go
+++ b/routers/events/events.go
@@ -33,8 +33,8 @@ func Events(ctx *context.Context) {
 	if !ctx.IsSigned {
 		// Return unauthorized status event
 		event := (&eventsource.Event{
-			Name: "unauthorized",
-			Data: "sorry",
+			Name: "close",
+			Data: "unauthorized",
 		})
 		_, _ = event.WriteTo(ctx)
 		ctx.Resp.Flush()
diff --git a/web_src/js/features/eventsource.sharedworker.js b/web_src/js/features/eventsource.sharedworker.js
index 6a6ee154db..ff160cdc52 100644
--- a/web_src/js/features/eventsource.sharedworker.js
+++ b/web_src/js/features/eventsource.sharedworker.js
@@ -10,6 +10,7 @@ class Source {
     this.listening = {};
     this.clients = [];
     this.listen('open');
+    this.listen('close');
     this.listen('logout');
     this.listen('notification-count');
     this.listen('stopwatches');
diff --git a/web_src/js/features/notification.js b/web_src/js/features/notification.js
index a0793d2286..fca1ddc543 100644
--- a/web_src/js/features/notification.js
+++ b/web_src/js/features/notification.js
@@ -74,6 +74,11 @@ export async function initNotificationCount() {
         });
         worker.port.close();
         window.location.href = AppSubUrl;
+      } else if (event.data.type === 'close') {
+        worker.port.postMessage({
+          type: 'close',
+        });
+        worker.port.close();
       }
     });
     worker.port.addEventListener('error', (e) => {
diff --git a/web_src/js/features/stopwatch.js b/web_src/js/features/stopwatch.js
index 61f19bd795..9352ef292d 100644
--- a/web_src/js/features/stopwatch.js
+++ b/web_src/js/features/stopwatch.js
@@ -55,6 +55,11 @@ export async function initStopwatch() {
         });
         worker.port.close();
         window.location.href = AppSubUrl;
+      } else if (event.data.type === 'close') {
+        worker.port.postMessage({
+          type: 'close',
+        });
+        worker.port.close();
       }
     });
     worker.port.addEventListener('error', (e) => {