diff --git a/src/app/core/login/login.ts b/src/app/core/login/login.ts
index c091e43..ac0da82 100644
--- a/src/app/core/login/login.ts
+++ b/src/app/core/login/login.ts
@@ -13,6 +13,11 @@
     private $state: angular.ui.IStateService,
     private ModelSetup: IXosModelSetupService
   ) {
+
+    if (this.authService.isAuthenticated()) {
+      this.$state.go('xos.dashboard');
+    }
+
     this.img = this.getImg(StyleConfig.background);
 
     this.loginStyle = {
diff --git a/src/app/core/services/runtime-states.ts b/src/app/core/services/runtime-states.ts
index bc99a8e..652b554 100644
--- a/src/app/core/services/runtime-states.ts
+++ b/src/app/core/services/runtime-states.ts
@@ -7,7 +7,10 @@
   this.$get = function($state: ng.ui.IStateService) {
     return {
       addState: function(name: string, state: IXosState) {
-        $stateProvider.state(name, state);
+        // prevent to add multiple time the same state
+        if (!$state.get(name)) {
+          $stateProvider.state(name, state);
+        }
       }
     };
   };
diff --git a/src/app/datasources/rest/auth.rest.ts b/src/app/datasources/rest/auth.rest.ts
index f963799..edf7705 100644
--- a/src/app/datasources/rest/auth.rest.ts
+++ b/src/app/datasources/rest/auth.rest.ts
@@ -23,6 +23,7 @@
   logout(): Promise<any>;
   getUser(): any; // NOTE how to define return user || false ???
   isAuthenticated(): boolean;
+  clearUser(): void;
 }
 export class AuthService {
 
@@ -56,9 +57,7 @@
       xossessionid: this.$cookies.get('xossessionid')
     })
       .then(() => {
-        this.$cookies.remove('xoscsrftoken');
-        this.$cookies.remove('xossessionid');
-        this.$cookies.remove('xosuser');
+        this.clearUser();
         d.resolve();
       })
       .catch(e => {
@@ -67,6 +66,12 @@
     return d.promise;
   }
 
+  public clearUser(): void {
+    this.$cookies.remove('xoscsrftoken');
+    this.$cookies.remove('xossessionid');
+    this.$cookies.remove('xosuser');
+  }
+
   public getUser(): IXosUser {
     const user = this.$cookies.get('xosuser');
     if (angular.isDefined(user)) {
diff --git a/src/interceptors.ts b/src/interceptors.ts
index 80be130..273d19e 100644
--- a/src/interceptors.ts
+++ b/src/interceptors.ts
@@ -9,10 +9,13 @@
   $resourceProvider.defaults.stripTrailingSlashes = false;
 }
 
-export function userStatusInterceptor($state: angular.ui.IStateService) {
+export function userStatusInterceptor($state: angular.ui.IStateService, $cookies: ng.cookies.ICookiesService) {
 
   const checkLogin = (res) => {
     if (res.status === 401 || res.status === -1) {
+      $cookies.remove('xoscsrftoken');
+      $cookies.remove('xossessionid');
+      $cookies.remove('xosuser');
       $state.go('login');
     }
     return res;
