diff --git a/packages/component-faraday-ui/src/helpers/index.js b/packages/component-faraday-ui/src/helpers/index.js
index 8c28ee43e059e0d33311e9dad7f1c7ac0b180a47..f43ebc451a6f32c9046e861345cc7347d00e3747 100644
--- a/packages/component-faraday-ui/src/helpers/index.js
+++ b/packages/component-faraday-ui/src/helpers/index.js
@@ -1,5 +1,7 @@
 import * as validators from './formValidators'
 
+export * from './utils'
+
 export { default as withFilePreview } from './withFilePreview'
 export * from './withFileDownload'
 export { default as withNativeFileDrop } from './withNativeFileDrop'
diff --git a/packages/component-faraday-ui/src/helpers/utils.js b/packages/component-faraday-ui/src/helpers/utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..f99bf88b7a695cb0e7891211f0471bcf93a52f8c
--- /dev/null
+++ b/packages/component-faraday-ui/src/helpers/utils.js
@@ -0,0 +1,5 @@
+import { get } from 'lodash'
+
+export const handleError = fn => e => {
+  fn(get(JSON.parse(e.response), 'error', 'Oops! Something went wrong!'))
+}
diff --git a/packages/component-invite/src/routes/collectionsInvitations/post.js b/packages/component-invite/src/routes/collectionsInvitations/post.js
index 620e45bd870e09ecd7a5cf210f5a683d185075ea..6f28624ea068201d27a33274b2d4dac016d7a57f 100644
--- a/packages/component-invite/src/routes/collectionsInvitations/post.js
+++ b/packages/component-invite/src/routes/collectionsInvitations/post.js
@@ -69,7 +69,6 @@ module.exports = models => async (req, res) => {
 
   try {
     const user = await UserModel.findByEmail(email)
-    await teamHelper.setupTeam({ user, role, objectType: 'collection' })
     invitationHelper.userId = user.id
     let invitation = invitationHelper.getInvitation({
       invitations: collection.invitations,
@@ -89,6 +88,7 @@ module.exports = models => async (req, res) => {
     }
 
     invitation.invitedOn = Date.now()
+    await teamHelper.setupTeam({ user, role, objectType: 'collection' })
     await collection.save()
     await collectionHelper.addHandlingEditor({ user, invitation })
 
diff --git a/packages/component-manuscript/src/components/ManuscriptPage.js b/packages/component-manuscript/src/components/ManuscriptPage.js
index b928e99ebce45ed1993264ed16394029992f3f6b..d75af1720b9a8248c4fef8058861e03da2594c5b 100644
--- a/packages/component-manuscript/src/components/ManuscriptPage.js
+++ b/packages/component-manuscript/src/components/ManuscriptPage.js
@@ -46,7 +46,7 @@ import {
   canOverrideTechnicalChecks,
   getInvitationsWithReviewersForFragment,
 } from 'pubsweet-component-faraday-selectors'
-import { RemoteOpener } from 'pubsweet-component-faraday-ui'
+import { RemoteOpener, handleError } from 'pubsweet-component-faraday-ui'
 
 import ManuscriptLayout from './ManuscriptLayout'
 import { parseEicDecision, parseSearchParams, redirectToError } from './utils'
@@ -188,7 +188,7 @@ export default compose(
           fetchUpdatedCollection()
           modalProps.hideModal()
         })
-        .catch(() => modalProps.setModalError('Oops! Something went wrong.')),
+        .catch(handleError(modalProps.setModalError)),
     revokeHE: ({
       getCollection,
       revokeHandlingEditor,
@@ -202,7 +202,7 @@ export default compose(
           getCollection({ id: collectionId })
           modalProps.hideModal()
         })
-        .catch(() => modalProps.setModalError('Oops! Something went wrong.')),
+        .catch(handleError(modalProps.setModalError)),
     createRecommendation: ({
       fragment,
       collection,
@@ -219,9 +219,7 @@ export default compose(
           fetchUpdatedCollection()
           modalProps.hideModal()
         })
-        .catch(() => {
-          modalProps.setModalError('Oops! Something went wrong.')
-        })
+        .catch(handleError(modalProps.setModalError))
     },
     onHEResponse: ({
       history,