diff --git a/js/src/App.vue b/js/src/App.vue
index a0594589f..7f66ce08f 100644
--- a/js/src/App.vue
+++ b/js/src/App.vue
@@ -99,13 +99,20 @@ $mdi-font-path: "~@mdi/font/fonts";
   body {
     // background: #f7f8fa;
     background: #ebebeb;
+
+    main {
+      margin: 1rem auto;
+    }
   }
 
-  #mobilizon > .container > .message .message-header {
-    button.delete {
-      background: #4a4a4a;
-    }
+  #mobilizon > .container > .message {
+    margin: 1rem auto auto;
+    .message-header {
+      button.delete {
+        background: #4a4a4a;
+      }
 
-    color: #111;
+      color: #111;
+    }
   }
 </style>
diff --git a/js/src/views/Home.vue b/js/src/views/Home.vue
index b1aa6721a..e8418764e 100644
--- a/js/src/views/Home.vue
+++ b/js/src/views/Home.vue
@@ -25,7 +25,7 @@
         </div>
       </section>
     <div class="container" v-if="config">
-      <section v-if="currentActor.id">
+      <section v-if="currentActor.id && welcomeBack">
         <b-message type="is-info">
           {{ $t('Welcome back {username}', { username: currentActor.displayName() }) }}
         </b-message>
@@ -183,6 +183,14 @@ export default class Home extends Vue {
     return this.config.name;
   }
 
+  get welcomeBack() {
+    return window.localStorage.getItem('welcome-back') === 'yes';
+  }
+
+  mounted() {
+    window.localStorage.removeItem('welcome-back');
+  }
+
   isToday(date: Date) {
     return (new Date(date)).toDateString() === (new Date()).toDateString();
   }
diff --git a/js/src/views/User/Login.vue b/js/src/views/User/Login.vue
index e89a89d9c..c7284928a 100644
--- a/js/src/views/User/Login.vue
+++ b/js/src/views/User/Login.vue
@@ -169,6 +169,7 @@ export default class Login extends Vue {
       if (this.redirect) {
         await this.$router.push(this.redirect);
       } else {
+        window.localStorage.setItem('welcome-back', 'yes');
         await this.$router.push({ name: RouteName.HOME });
       }
     } catch (err) {