diff --git a/packages/component-helper-service/src/services/Email.js b/packages/component-helper-service/src/services/Email.js
index f9e4568676501759810a37045a32b1cf05e303d3..e201739d7c36de4f50dd5f12903efb2679338ed1 100644
--- a/packages/component-helper-service/src/services/Email.js
+++ b/packages/component-helper-service/src/services/Email.js
@@ -65,8 +65,8 @@ class Email {
       ? `${eic.firstName} ${eic.lastName}`
       : collection.handlingEditor.name
 
-    let reviewers = await Promise.all(reviewerPromises)
-    reviewers = reviewers.filter(Boolean)
+    let reviewers = (await Promise.all(reviewerPromises)).filter(Boolean)
+    reviewers = reviewers.filter(rev => rev.isActive)
 
     if (agree) {
       subject = isSubmitted
@@ -118,26 +118,25 @@ class Email {
       parsedFragment: { title },
       authors: { submittingAuthor: { firstName = '', lastName = '' } },
     } = this
-    const reviewers = await Promise.all(
-      invitations.map(async inv => UserModel.find(inv.userId)),
-    )
-    reviewers.forEach(user =>
-      mailService.sendNotificationEmail({
-        emailType: 'submitting-reviewers-after-revision',
-        toEmail: user.email,
-        meta: {
-          baseUrl,
-          collection,
-          timestamp: Date.now(),
-          reviewerName: `${user.firstName} ${user.lastName}`,
-          fragment: {
-            title,
-            authorName: `${firstName} ${lastName}`,
-            id: newFragmentId,
+    ;(await Promise.all(invitations.map(inv => UserModel.find(inv.userId))))
+      .filter(rev => rev.isActive)
+      .forEach(user =>
+        mailService.sendNotificationEmail({
+          emailType: 'submitting-reviewers-after-revision',
+          toEmail: user.email,
+          meta: {
+            baseUrl,
+            collection,
+            timestamp: Date.now(),
+            reviewerName: `${user.firstName} ${user.lastName}`,
+            fragment: {
+              title,
+              authorName: `${firstName} ${lastName}`,
+              id: newFragmentId,
+            },
           },
-        },
-      }),
-    )
+        }),
+      )
   }
 
   async setupAuthorsEmail({
@@ -147,6 +146,7 @@ class Email {
   }) {
     const {
       baseUrl,
+      UserModel,
       collection,
       parsedFragment: { heRecommendation, id, title, newComments },
       authors: { submittingAuthor: { email, firstName, lastName } },
@@ -170,7 +170,10 @@ class Email {
       ]
     } else {
       const fragment = await FragmentModel.find(id)
-      toAuthors = fragment.authors.map(author => ({
+      const userHelper = new User({ UserModel })
+      const activeAuthors = userHelper.getActiveAuthors(fragment.authors)
+
+      toAuthors = activeAuthors.map(author => ({
         email: author.email,
         name: `${author.firstName} ${author.lastName}`,
       }))
diff --git a/packages/component-helper-service/src/services/Fragment.js b/packages/component-helper-service/src/services/Fragment.js
index e1e421278c082e1f321af85ff122c3d3a97d92d3..6d846b693d4993dbf2b15df7421d93bb043258b5 100644
--- a/packages/component-helper-service/src/services/Fragment.js
+++ b/packages/component-helper-service/src/services/Fragment.js
@@ -1,4 +1,5 @@
 const get = require('lodash/get')
+const User = require('./User')
 
 class Fragment {
   constructor({ fragment }) {
@@ -69,11 +70,12 @@ class Fragment {
         get(submittingAuthorData, 'id'),
       )
 
-      const authorsPromises = authors.map(async author => {
-        const user = await UserModel.find(author.id)
-        return `${user.firstName} ${user.lastName}`
-      })
-      const authorsList = await Promise.all(authorsPromises)
+      const userHelper = new User({ UserModel })
+      const activeAuthors = userHelper.getActiveAuthors(authors)
+
+      const authorsList = activeAuthors.map(
+        author => `${author.firstName} ${author.lastName}`,
+      )
 
       return {
         authorsList,
diff --git a/packages/component-helper-service/src/services/User.js b/packages/component-helper-service/src/services/User.js
index 17ce529f03266c44cb1f89116912246bb4d8b26f..97821f164f7fe0af918f88c97c28c7163024721a 100644
--- a/packages/component-helper-service/src/services/User.js
+++ b/packages/component-helper-service/src/services/User.js
@@ -68,6 +68,16 @@ class User {
     user.teams.push(teamId)
     user.save()
   }
+
+  async getActiveAuthors(authors) {
+    const activeUsers = (await Promise.all(
+      authors.map(author => this.UserModel.find(author.id)),
+    ))
+      .filter(u => u.isActive)
+      .map(u => u.id)
+
+    return authors.filter(author => activeUsers.includes(author.id))
+  }
 }
 
 module.exports = User
diff --git a/packages/component-user-manager/src/routes/fragmentsUsers/get.js b/packages/component-user-manager/src/routes/fragmentsUsers/get.js
index 7be10dc0fe07e5925c5ca3921d49433d1bb86184..ebb0cd045ac5b5a9a4348b6c288e642aff29473d 100644
--- a/packages/component-user-manager/src/routes/fragmentsUsers/get.js
+++ b/packages/component-user-manager/src/routes/fragmentsUsers/get.js
@@ -1,4 +1,4 @@
-const { services } = require('pubsweet-component-helper-service')
+const { services, User } = require('pubsweet-component-helper-service')
 
 module.exports = models => async (req, res) => {
   // TO DO: add authsome
@@ -11,15 +11,8 @@ module.exports = models => async (req, res) => {
       })
 
     const { authors = [] } = await models.Fragment.find(fragmentId)
-    const activeUsers = (await Promise.all(
-      authors.map(author => models.User.find(author.id)),
-    ))
-      .filter(u => u.isActive)
-      .map(u => u.id)
-
-    const activeAuthors = authors.filter(author =>
-      activeUsers.includes(author.id),
-    )
+    const userHelper = new User({ UserModel: models.User })
+    const activeAuthors = userHelper.getActiveAuthors(authors)
 
     return res.status(200).json(activeAuthors)
   } catch (e) {
diff --git a/packages/xpub-faraday/config/authsome-mode.js b/packages/xpub-faraday/config/authsome-mode.js
index 8c3734151c18eeb7bcf4c504518791e255ddba01..a585fc37f507aefb0cc15b3d0913f106c90d7573 100644
--- a/packages/xpub-faraday/config/authsome-mode.js
+++ b/packages/xpub-faraday/config/authsome-mode.js
@@ -296,8 +296,7 @@ const authsomeMode = async (userId, operation, object, context) => {
     return applyEditorInChiefPolicy(user, operation, object, context)
   }
 
-  if (user) {
-    if (!user.isActive) return false
+  if (user && user.isActive !== false) {
     return applyAuthenticatedUserPolicy(user, operation, object, context)
   }