diff --git a/frontend/src/components/BaseLayout.vue b/frontend/src/components/BaseLayout.vue
index b5407e4629acec0b3a90c46b32f5bf1d2633c0d1..05b3054e6d55ea79d47c0d4e7279eb36f81fbd5c 100644
--- a/frontend/src/components/BaseLayout.vue
+++ b/frontend/src/components/BaseLayout.vue
@@ -69,7 +69,7 @@
       <span class="pl-2 grady-speak">{{ gradySpeak }}</span>
       <v-spacer/>
       <slot name="toolbar-center"/>
-      <div class="toolbar-content">
+      <div class="toolbar-content" v-if="getDropdownShow">
         <v-menu bottom offset-y>
           <v-btn slot="activator" color="cyan" style="text-transform: none">
             {{ userRole }} | {{ username }} <v-icon>arrow_drop_down</v-icon>
@@ -90,6 +90,7 @@ import { mapStateToComputedGetterSetter } from '@/util/helpers'
 import UserOptions from '@/components/UserOptions'
 import { Authentication } from '@/store/modules/authentication'
 import { actions } from '@/store/actions'
+import { UserAccount } from '../models';
 
 export default {
   name: 'base-layout',
@@ -121,7 +122,11 @@ export default {
     },
     productionBrandUrl () {
       return `https://${window.location.host}/static/img/brand.png`
-    }
+    },
+    getDropdownShow () {
+      return this.userRole == UserAccount.RoleEnum.Tutor ||
+             this.userRole == UserAccount.RoleEnum.Reviewer;
+    },
   },
   methods: {
     logout () {
diff --git a/frontend/src/pages/Login.vue b/frontend/src/pages/Login.vue
index db914c5c52b546e65870dd5c4d0baa4a6d774d16..c73fc809faecfbe88e86a964e972197e473ed8be 100644
--- a/frontend/src/pages/Login.vue
+++ b/frontend/src/pages/Login.vue
@@ -72,12 +72,17 @@ export default {
     submit () {
       this.loading = true
       Auth.getJWT(this.credentials).then(() => {
-        Auth.getUser().then(() => {
-          this.$router.push({ name: 'home' })
-        })
-        Auth.getJWTTimeDelta()
+        return Promise.all([
+          Auth.getUser(), 
+          Auth.getJWTTimeDelta()
+        ])
+      }).then(() => {
+        this.$router.push({ name: 'home' })
         this.loading = false
-      }).catch(() => { this.loading = false })
+      }).catch((er) => {
+        Auth.SET_MESSAGE("Login failed. Please try again.")
+        this.loading = false
+      })
     },
     registered (credentials) {
       this.registerDialog = false