diff --git a/packages/component-faraday-ui/src/PasswordConfirmation.js b/packages/component-faraday-ui/src/PasswordValidation.js
similarity index 93%
rename from packages/component-faraday-ui/src/PasswordConfirmation.js
rename to packages/component-faraday-ui/src/PasswordValidation.js
index a6aa981d222e97d319560e57ab3ebebdba5286ef..7e073407850cf749635bbd5c3471d38222b7f84f 100644
--- a/packages/component-faraday-ui/src/PasswordConfirmation.js
+++ b/packages/component-faraday-ui/src/PasswordValidation.js
@@ -19,7 +19,7 @@ import {
 
 const PasswordField = input => <TextField {...input} type="password" />
 
-const PasswordConfirmation = ({
+const PasswordValidation = ({
   formName,
   formLabel,
   minLength,
@@ -45,7 +45,7 @@ const PasswordConfirmation = ({
         <Label required>Retype Password</Label>
         <ValidatedField
           component={PasswordField}
-          name="confirmPassword"
+          name="confirmNewPassword"
           validate={[required]}
         />
       </Item>
@@ -94,7 +94,7 @@ const PasswordConfirmation = ({
     </Row>
   </Fragment>
 )
-PasswordConfirmation.propTypes = {
+PasswordValidation.propTypes = {
   /** Name of the redux form. */
   formName: PropTypes.string,
   /** Label name for password input */
@@ -102,17 +102,17 @@ PasswordConfirmation.propTypes = {
   /** If the password requirements are not fulfilled it will return true. */
   submitFailed: PropTypes.bool,
   /** If the password's length is greater or equal than the minimum value, it will return true. */
-  minLength: PropTypes.func,
+  minLength: PropTypes.bool,
   /** If the password has at least one digit it will return true. */
-  atLeastOneDigit: PropTypes.func,
+  atLeastOneDigit: PropTypes.bool,
   /** If the password has at least one uppercase it will return true. */
-  atLeastOneUppercase: PropTypes.func,
+  atLeastOneUppercase: PropTypes.bool,
   /** If the password has at least one lowercase it will return true. */
-  atLeastOneLowerrcase: PropTypes.func,
+  atLeastOneLowerrcase: PropTypes.bool,
   /** If the password has at least one punctuation it will return true. */
-  atLeastOnePunctuation: PropTypes.func,
+  atLeastOnePunctuation: PropTypes.bool,
 }
-PasswordConfirmation.defaultProps = {
+PasswordValidation.defaultProps = {
   formName: undefined,
   formLabel: undefined,
   submitFailed: false,
@@ -137,7 +137,7 @@ export default compose(
       get(formValues, 'password', ''),
     ),
   })),
-)(PasswordConfirmation)
+)(PasswordValidation)
 
 const RulesTitle = styled.p`
   margin: 0px;
diff --git a/packages/component-faraday-ui/src/PasswordConfirmation.md b/packages/component-faraday-ui/src/PasswordValidation.md
similarity index 77%
rename from packages/component-faraday-ui/src/PasswordConfirmation.md
rename to packages/component-faraday-ui/src/PasswordValidation.md
index 88bb5be4644f8a39c54c551884790fd33b0fd182..8a09ec872a3a0e02aa10eb86bd20ae1263274b7e 100644
--- a/packages/component-faraday-ui/src/PasswordConfirmation.md
+++ b/packages/component-faraday-ui/src/PasswordValidation.md
@@ -3,7 +3,7 @@ const React = require('react')
 const reduxForm = require('redux-form').reduxForm;
 
 const PasswordField = () => (
-  <PasswordConfirmation formLabel="Password" formName="signUpInvitation" />
+  <PasswordValidation formLabel="Password" formName="signUpInvitation" />
 )
 
 const Form = reduxForm({
diff --git a/packages/component-faraday-ui/src/Utils.js b/packages/component-faraday-ui/src/Utils.js
index 704a4daf3c3eb1a9fcd00da496ae017676bd73b1..95db294769acf7d5ee57e8e3be6c6321aaa388a6 100644
--- a/packages/component-faraday-ui/src/Utils.js
+++ b/packages/component-faraday-ui/src/Utils.js
@@ -19,8 +19,7 @@ export const atLeastOnePunctuation = value => {
 
 export const passwordValidator = values => {
   const errors = {}
-  const { password, confirmPassword } = values
-
+  const { password, confirmNewPassword } = values
   if (
     !(
       minLength(password, 6) &&
@@ -35,10 +34,10 @@ export const passwordValidator = values => {
   if (!password) {
     errors.password = 'Required'
   }
-  if (!confirmPassword) {
-    errors.confirmPassword = 'Required'
-  } else if (confirmPassword !== password) {
-    errors.confirmPassword = "Passwords don't match."
+  if (!confirmNewPassword) {
+    errors.confirmNewPassword = 'Required'
+  } else if (confirmNewPassword !== password) {
+    errors.confirmNewPassword = "Passwords don't match."
   }
 
   return errors
diff --git a/packages/component-faraday-ui/src/index.js b/packages/component-faraday-ui/src/index.js
index 7f5dc9436cd44993aa9bd7acb06718cd572966e8..b5e2c10898e6ec568f8225b96930fc82da49d767 100644
--- a/packages/component-faraday-ui/src/index.js
+++ b/packages/component-faraday-ui/src/index.js
@@ -48,7 +48,7 @@ export { default as WizardFiles } from './WizardFiles'
 export { default as TextTooltip } from './TextTooltip'
 export { default as EditorialReportCard } from './EditorialReportCard'
 export { default as ReviewerReportAuthor } from './ReviewerReportAuthor'
-export { default as PasswordConfirmation } from './PasswordConfirmation'
+export { default as PasswordValidation } from './PasswordValidation'
 
 export { SubmitRevision } from './submissionRevision'
 
diff --git a/packages/component-user-manager/src/routes/users/changePassword.js b/packages/component-user-manager/src/routes/users/changePassword.js
index 040fd872958cfb8856e74f26ffe010b3cb406b37..7630d4374bdd826352a8db87a41cd1fb4b3d5761 100644
--- a/packages/component-user-manager/src/routes/users/changePassword.js
+++ b/packages/component-user-manager/src/routes/users/changePassword.js
@@ -3,11 +3,10 @@ const { token } = require('pubsweet-server/src/authentication')
 const { passwordStrengthRegex } = require('config')
 
 module.exports = models => async (req, res) => {
-  const { password, newPassword } = req.body
-  if (!services.checkForUndefinedParams(password, newPassword))
+  const { currentPassword, password } = req.body
+  if (!services.checkForUndefinedParams(currentPassword, password))
     return res.status(400).json({ error: 'Missing required params.' })
-
-  if (!passwordStrengthRegex.test(newPassword))
+  if (!passwordStrengthRegex.test(password))
     return res.status(400).json({
       error: 'Password is too weak. Please check password requirements.',
     })
@@ -16,10 +15,10 @@ module.exports = models => async (req, res) => {
   try {
     user = await models.User.find(req.user)
 
-    if (!await user.validPassword(password)) {
+    if (!await user.validPassword(currentPassword)) {
       return res.status(400).json({ error: 'Wrong username or password.' })
     }
-    user.password = newPassword
+    user.password = password
     user = await user.save()
 
     return res.status(200).json({
diff --git a/packages/components-faraday/src/components/SignUp/ReviewerInviteDecision.js b/packages/components-faraday/src/components/SignUp/ReviewerInviteDecision.js
index 917b0073bed22be7d1955dc933f35dc949ca9c03..a7c1cbaea1d5633f7479879b168e5c29db1b82e8 100644
--- a/packages/components-faraday/src/components/SignUp/ReviewerInviteDecision.js
+++ b/packages/components-faraday/src/components/SignUp/ReviewerInviteDecision.js
@@ -15,7 +15,8 @@ import {
   withFetching,
 } from 'pubsweet-component-faraday-ui'
 
-import { redirectToError, passwordValidator } from '../utils'
+import { redirectToError } from '../utils'
+import { passwordValidator } from '../../../../component-faraday-ui/src/Utils'
 import { reviewerDecision, setReviewerPassword } from '../../redux/reviewers'
 
 const agreeText = `You have been invited to review a manuscript on the Hindawi platform. Please set a password and proceed to the manuscript.`
diff --git a/packages/components-faraday/src/components/SignUp/SignUpStep1.js b/packages/components-faraday/src/components/SignUp/SignUpStep1.js
index a8b701635cfaca53f28369343a3ef3738b95a365..2a153c89e1a3773a0e336dd92438a5649af711d4 100644
--- a/packages/components-faraday/src/components/SignUp/SignUpStep1.js
+++ b/packages/components-faraday/src/components/SignUp/SignUpStep1.js
@@ -7,7 +7,7 @@ import {
   Item,
   Label,
   Text,
-  PasswordConfirmation,
+  PasswordValidation,
 } from 'pubsweet-component-faraday-ui'
 
 import { emailValidator } from '../utils'
@@ -27,12 +27,12 @@ const SignUpForm = () => (
         />
       </Item>
     </Row>
-    <PasswordConfirmation formLabel="Password" formName="signUpInvitation" />
+    <PasswordValidation formLabel="Password" formName="signUpInvitation" />
   </Fragment>
 )
 
 const InviteForm = () => (
-  <PasswordConfirmation formLabel="Password" formName="signUpInvitation" />
+  <PasswordValidation formLabel="Password" formName="signUpInvitation" />
 )
 
 const ForgotEmailForm = () => (
diff --git a/packages/components-faraday/src/components/UserProfile/ChangePasswordPage.js b/packages/components-faraday/src/components/UserProfile/ChangePasswordPage.js
index a715a46f2b7b712b345ae99c5365deed42b741ff..7bb23a3631ce0d2e35a5dc7188b1d804c436144a 100644
--- a/packages/components-faraday/src/components/UserProfile/ChangePasswordPage.js
+++ b/packages/components-faraday/src/components/UserProfile/ChangePasswordPage.js
@@ -11,13 +11,11 @@ import {
   Text,
   Label,
   ShadowedBox,
-  PasswordConfirmation,
+  PasswordValidation,
 } from 'pubsweet-component-faraday-ui'
 
-import {
-  changePasswordValidator,
-  onSubmitChangePassword as onSubmit,
-} from '../utils'
+import { changePasswordValidator } from '../../../../component-faraday-ui/src/Utils'
+import { onSubmitChangePassword as onSubmit } from '../utils'
 
 const PasswordField = input => <TextField {...input} type="password" />
 
@@ -40,7 +38,7 @@ const ChangePassword = ({ history, handleSubmit, error }) => (
         />
       </Item>
     </Row>
-    <PasswordConfirmation formLabel="New Password" formName="changePassword" />
+    <PasswordValidation formLabel="New Password" formName="changePassword" />
     {error && (
       <Row mt={1}>
         <Item>
diff --git a/packages/components-faraday/src/components/utils.js b/packages/components-faraday/src/components/utils.js
index 6ca28eae7dcfa5cea119e08190b63ba4c3b9b452..0f1f81c6b4cbb2fba9962d68d2040ceed2e0e1c5 100644
--- a/packages/components-faraday/src/components/utils.js
+++ b/packages/components-faraday/src/components/utils.js
@@ -146,11 +146,11 @@ export const saveUserDetails = (userId, values) => dispatch =>
   })
 
 export const onSubmitChangePassword = (
-  { password, newPassword },
+  { currentPassword, password },
   dispatch,
   { history },
 ) =>
-  create(`/users/change-password`, { password, newPassword })
+  create(`/users/change-password`, { currentPassword, password })
     .then(() => {
       history.goBack()
     })