diff --git a/app/Main.js b/app/Main.js
index bea08edcb7cbd7c7c11eadcea8ce4e6e61bdfb88..fdef2b105889f9a8915a852e45d95608fb187c0f 100644
--- a/app/Main.js
+++ b/app/Main.js
@@ -7,11 +7,17 @@ import Iso from 'iso';
 import universalRender from 'shared/UniversalRender';
 import ConsoleExports from './utils/ConsoleExports';
 import {serverApiRecordEvent} from 'app/utils/ServerApiClient';
+import {logoutStorageHandler} from 'app/redux/UserSaga'
 
 window.onerror = error => {
     serverApiRecordEvent('client_error', error);
 };
 
+if(process.env.BROWSER) {
+    // You must trigger a storage event from another tab or window..
+    window.addEventListener('storage', logoutStorageHandler, false)
+}
+
 Iso.bootstrap(initial_state => {
     console.log('Initial state', initial_state);
     window.$STM_Config = initial_state.offchain.config;
diff --git a/app/redux/UserSaga.js b/app/redux/UserSaga.js
index a06851fe35fcf2979cf9389aa91a7b77f683cbff..483b44901360afa382f5afc282f79a110e8aba01 100644
--- a/app/redux/UserSaga.js
+++ b/app/redux/UserSaga.js
@@ -300,12 +300,31 @@ function* saveLogin_localStorage() {
 }
 
 function* logout() {
+    console.log('logout...');
     yield put(user.actions.saveLoginConfirm(false)) // Just incase it is still showing
-    if (process.env.BROWSER)
+    if (process.env.BROWSER) {
         localStorage.removeItem('autopost2')
+        localStorage.logout_event = String(Date.now())
+    }
     serverApiLogout();
 }
 
+function* logoutAction() {
+    yield put(user.actions.logout())
+}
+
+export function logoutStorageHandler(storageEvent) {
+    console.log('storageEvent', storageEvent)
+    if(storageEvent.key === 'logout_event') {
+        const iterator = logoutAction()
+        let ret
+        do {
+            ret = iterator.next()
+            console.log('ret', ret)
+        } while(!ret.done)
+    }
+}
+
 function* loginError({payload: {/*error*/}}) {
     serverApiLogout();
 }