diff --git a/frontend/src/components/RegisterDialog.vue b/frontend/src/components/RegisterDialog.vue
index 2f95c2d88403c6b8f5ea8cae8aa72f27a235fec2..75f212dcf9b75854081ce47d885957489fe2d4b0 100644
--- a/frontend/src/components/RegisterDialog.vue
+++ b/frontend/src/components/RegisterDialog.vue
@@ -55,6 +55,8 @@
           required
           :rules="[ required ]"
           type="password"
+          :error-messages="passwordErrors"
+          @input="passwordErrors = null"
         />
         <v-text-field
           id="input-register-password-repeat"
@@ -105,10 +107,11 @@ export default {
       loading: false,
       acceptedGDPR: false,
       registrationFormIsValid: false,
-      required: required,
+      required,
       checkPasswordsMatch: v => v === this.credentials.password || 'Passwords do not match.',
       errorAlert: null,
       usernameErrors: null,
+      passwordErrors: null,
     }
   },
   watch: {
@@ -129,13 +132,13 @@ export default {
       registerTutor(this.credentials).then(() => {
         this.$emit('registered', this.credentials)
       }).catch(error => {
-        if (error.response && error.response.data && error.response.data.username)
-          this.usernameErrors = error.response.data.username
-        else
+        this.usernameErrors = error.response && error.response.data && error.response.data.username
+        this.passwordErrors = error.response && error.response.data && error.response.data.password
+        if (!this.usernameErrors && !this.passwordErrors)
           this.errorAlert = `Couldn't register a tutor account: ${error}`
       }).finally(() => { this.loading = false })
     }
-  }
+  },
 }
 </script>