diff --git a/frontend/src/components/BaseLayout.vue b/frontend/src/components/BaseLayout.vue
index 1ca66d053cd5a06be9353b72bb0b17c523b7d410..dc3c7e9bb9b11c3274254382a90d3f1823da3e6e 100644
--- a/frontend/src/components/BaseLayout.vue
+++ b/frontend/src/components/BaseLayout.vue
@@ -90,27 +90,7 @@
       <v-spacer />
       <instance-actions />
       <v-divider vertical />
-      <v-toolbar-items class="user-menu">
-        <v-menu
-          bottom
-          offset-y
-          left
-        >
-          <template #activator="{ on }">
-            <v-btn
-              id="user-options"
-              text
-              v-on="on"
-            >
-              <v-icon left>
-                account_circle
-              </v-icon>
-              {{ username }} ({{ userRole }})<v-icon>arrow_drop_down</v-icon>
-            </v-btn>
-          </template>
-          <user-options />
-        </v-menu>
-      </v-toolbar-items>
+      <user-options />
     </v-app-bar>
   </div>
 </template>
@@ -127,8 +107,6 @@ export default {
   name: 'BaseLayout',
   components: { InstanceActions, UserOptions },
   computed: {
-    username () { return Authentication.state.user.username },
-    userRole () { return Authentication.state.user.role },
     gradySpeak () { return Authentication.gradySpeak },
     isStudent () { return Authentication.isStudent },
     ...mapStateToComputedGetterSetter({
diff --git a/frontend/src/components/PasswordChangeDialog.vue b/frontend/src/components/PasswordChangeDialog.vue
index 1a798c9e4aa083b857318c36cac863665bd51f20..394a8ab10393a47f0c90b40b8170c0f8d834aa28 100644
--- a/frontend/src/components/PasswordChangeDialog.vue
+++ b/frontend/src/components/PasswordChangeDialog.vue
@@ -21,7 +21,7 @@
             autofocus
             required
             :error-messages="oldPasswordRejected ? 'Wrong password.' : undefined"
-            :rules="[ rules.required, rules.oldPasswordCorrect ]"
+            :rules="[ rules.required ]"
             @input="oldPasswordRejected = false"
           />
           <v-text-field
diff --git a/frontend/src/components/UserOptions.vue b/frontend/src/components/UserOptions.vue
index 2b2a239eecbe9abd701fe4317c2215b435d3b354..7b61d0f7c431b25b4e2f27c7d4c1e3fbc9d3a551 100644
--- a/frontend/src/components/UserOptions.vue
+++ b/frontend/src/components/UserOptions.vue
@@ -1,26 +1,44 @@
 <template>
-  <div>
-    <v-list>
-      <v-list-item
-        v-if="!isStudent"
-        @click="showPasswordChangeDialog"
-      >
-        Change password
-      </v-list-item>
-      <v-divider class="my-2" />
-      <v-list-item @click="logout">
-        <v-icon left>
-          exit_to_app
-        </v-icon>
-        Logout
-      </v-list-item>
-    </v-list>
+  <v-toolbar-items>
+    <v-menu
+      bottom
+      offset-y
+      left
+    >
+      <template #activator="{ on }">
+        <v-btn
+          id="user-options"
+          text
+          v-on="on"
+        >
+          <v-icon left>
+            account_circle
+          </v-icon>
+          {{ username }} ({{ userRole }})<v-icon>arrow_drop_down</v-icon>
+        </v-btn>
+      </template>
+      <v-list>
+        <v-list-item
+          v-if="!isStudent"
+          @click="showPasswordChangeDialog"
+        >
+          Change password
+        </v-list-item>
+        <v-divider class="my-2" />
+        <v-list-item @click="logout">
+          <v-icon left>
+            exit_to_app
+          </v-icon>
+          Logout
+        </v-list-item>
+      </v-list>
+    </v-menu>
     <component
       :is="displayComponent"
       v-if="displayComponent"
       @hide="hideComponent"
     />
-  </div>
+  </v-toolbar-items>
 </template>
 
 <script>
@@ -36,7 +54,9 @@ export default {
     }
   },
   computed: {
-    isStudent: () => Authentication.isStudent,
+    isStudent() { return Authentication.isStudent },
+    username() { return Authentication.state.user.username },
+    userRole() { return Authentication.state.user.role },
   },
   methods: {
     hideComponent () {