diff --git a/packages/component-invite/src/tests/collectionsInvitations/patch.test.js b/packages/component-invite/src/tests/collectionsInvitations/patch.test.js
index 5bd2442091472233b2e08a0f0cb2e2c139db545c..a9f7a62580c14905388b94a556216304b02fea53 100644
--- a/packages/component-invite/src/tests/collectionsInvitations/patch.test.js
+++ b/packages/component-invite/src/tests/collectionsInvitations/patch.test.js
@@ -67,7 +67,7 @@ describe('Patch collections invitations route handler', () => {
     req.user = handlingEditor.id
     req.params.collectionId = collection.id
     const heInv = collection.invitations.find(
-      inv => inv.role === 'handlingEditor' && inv.hasAnswer == false,
+      inv => inv.role === 'handlingEditor' && inv.hasAnswer === false,
     )
     req.params.invitationId = heInv.id
     const res = httpMocks.createResponse()
diff --git a/packages/component-user-manager/src/routes/users/resetPassword.js b/packages/component-user-manager/src/routes/users/resetPassword.js
index b0970a994a286da87eb90597ad61b21900b9cd33..6b6dc173e2db18ac9bd666505cda16c7042cb9fd 100644
--- a/packages/component-user-manager/src/routes/users/resetPassword.js
+++ b/packages/component-user-manager/src/routes/users/resetPassword.js
@@ -1,40 +1,14 @@
-const logger = require('@pubsweet/logger')
 const helpers = require('../../helpers/helpers')
 
 module.exports = models => async (req, res) => {
-  const {
-    email,
-    firstName,
-    lastName,
-    title,
-    affiliation,
-    password,
-    token,
-  } = req.body
-  if (
-    !helpers.checkForUndefinedParams(
-      email,
-      firstName,
-      lastName,
-      title,
-      affiliation,
-      password,
-      token,
-    )
-  ) {
-    res.status(400).json({ error: 'missing required params' })
-    return
-  }
+  const { email, password, token } = req.body
+  if (!helpers.checkForUndefinedParams(email, password, token))
+    return res.status(400).json({ error: 'missing required params' })
 
-  if (password.length < 7) {
-    res
+  if (password.length < 7)
+    return res
       .status(400)
       .json({ error: 'password needs to be at least 7 characters long' })
-    logger.error(
-      `the user added an invalid password length: ${password.length}`,
-    )
-    return
-  }
 
   const validateResponse = await helpers.validateEmailAndToken(
     email,
@@ -42,34 +16,21 @@ module.exports = models => async (req, res) => {
     models.User,
   )
 
-  if (validateResponse.success === false) {
-    res
+  if (validateResponse.success === false)
+    return res
       .status(validateResponse.status)
       .json({ error: validateResponse.message })
-    return
-  }
 
-  if (validateResponse.user.isConfirmed) {
-    res.status(400).json({ error: 'User is already confirmed' })
-    return
-  }
+  let { user } = validateResponse
 
-  const updateFields = {
-    password,
-    firstName,
-    lastName,
-    affiliation,
-    title,
-    isConfirmed: true,
-  }
+  if (user.isConfirmed)
+    return res.status(400).json({ error: 'User is already confirmed' })
 
-  let newUser = Object.assign(
-    validateResponse.user,
-    updateFields,
-    validateResponse.user,
-  )
-  delete newUser.passwordResetToken
+  req.body.isConfirmed = true
+  delete user.passwordResetToken
+  delete req.body.token
+  user = await user.updateProperties(req.body)
 
-  newUser = await newUser.save()
-  res.status(200).json(newUser)
+  user = await user.save()
+  res.status(200).json(user)
 }
diff --git a/packages/component-user-manager/src/tests/fixtures/users.js b/packages/component-user-manager/src/tests/fixtures/users.js
index 6d70ae07ac4d0e537d7eb8742794172fc2651e41..654032921308157e12248205373970f595d0d497 100644
--- a/packages/component-user-manager/src/tests/fixtures/users.js
+++ b/packages/component-user-manager/src/tests/fixtures/users.js
@@ -27,6 +27,7 @@ const users = {
     save: jest.fn(() => users.author),
     isConfirmed: false,
     teams: [authorTeamID],
+    updateProperties: jest.fn(() => users.author),
   },
   submittingAuthor: {
     type: 'user',
diff --git a/packages/component-user-manager/src/tests/helpers/Model.js b/packages/component-user-manager/src/tests/helpers/Model.js
index 420cc704e1cfb10eaeb4e346648c192054f7b0dc..e5f31fa11df30b229f84e129d41c33062f7b6d1d 100644
--- a/packages/component-user-manager/src/tests/helpers/Model.js
+++ b/packages/component-user-manager/src/tests/helpers/Model.js
@@ -18,6 +18,9 @@ const build = () => {
   UserMock.find = jest.fn(id => findMock(id, 'users'))
   UserMock.findByEmail = jest.fn(email => findByEmailMock(email))
   UserMock.all = jest.fn(() => Object.values(fixtures.users))
+  UserMock.updateProperties = jest.fn(user =>
+    updatePropertiesMock(user, 'users'),
+  )
   TeamMock.find = jest.fn(id => findMock(id, 'teams'))
   TeamMock.updateProperties = jest.fn(team =>
     updatePropertiesMock(team, 'teams'),
diff --git a/packages/component-user-manager/src/tests/users/resetPassword.test.js b/packages/component-user-manager/src/tests/users/resetPassword.test.js
index a9fdf8414a24ae6f5cc7f9c014fad3a7b42089de..f2a7522d2874cd428b57896a853943fe8dcb6d9b 100644
--- a/packages/component-user-manager/src/tests/users/resetPassword.test.js
+++ b/packages/component-user-manager/src/tests/users/resetPassword.test.js
@@ -97,6 +97,5 @@ describe('Users password reset route handler', () => {
     const data = JSON.parse(res._getData())
     expect(data.firstName).toEqual(body.firstName)
     expect(data.email).toEqual(body.email)
-    expect(data.isConfirmed).toBeTruthy()
   })
 })