diff --git a/packages/components-faraday/src/components/Reviewers/InviteReviewers.js b/packages/components-faraday/src/components/Reviewers/InviteReviewers.js
index 600d264a07f23873b542267d0abc5ea2cc50949d..557a86d74a3d7611fa11bed856b3c5eefccb0f12 100644
--- a/packages/components-faraday/src/components/Reviewers/InviteReviewers.js
+++ b/packages/components-faraday/src/components/Reviewers/InviteReviewers.js
@@ -11,10 +11,11 @@ import {
 import { ReviewerBreakdown } from '../Invitations'
 import { ReviewerForm, ReviewersList } from './'
 import {
-  getCollectionReviewers,
   selectReviewers,
-  selectFetchingReviewers,
   selectFetchingInvite,
+  selectReviewersError,
+  selectFetchingReviewers,
+  getCollectionReviewers,
 } from '../../redux/reviewers'
 
 const InviteReviewers = ({ showInviteModal }) => (
@@ -26,8 +27,9 @@ const InviteReviewersModal = compose(
   connect(
     state => ({
       reviewers: selectReviewers(state),
-      fetchingReviewers: selectFetchingReviewers(state),
+      reviewerError: selectReviewersError(state),
       fetchingInvite: selectFetchingInvite(state),
+      fetchingReviewers: selectFetchingReviewers(state),
     }),
     { getCollectionReviewers },
   ),
@@ -56,6 +58,7 @@ const InviteReviewersModal = compose(
     invitations,
     collectionId,
     getReviewers,
+    reviewerError,
     fetchingInvite,
     fetchingReviewers,
   }) => (
@@ -71,6 +74,7 @@ const InviteReviewersModal = compose(
         collectionId={collectionId}
         getReviewers={getReviewers}
         isFetching={fetchingInvite}
+        reviewerError={reviewerError}
         reviewers={reviewers}
       />
 
diff --git a/packages/components-faraday/src/components/Reviewers/ReviewerForm.js b/packages/components-faraday/src/components/Reviewers/ReviewerForm.js
index 8234bcad106f141eb1a5873889b150822fc742c3..02ec4448e4c4d718aff398db8903efc5d09e59eb 100644
--- a/packages/components-faraday/src/components/Reviewers/ReviewerForm.js
+++ b/packages/components-faraday/src/components/Reviewers/ReviewerForm.js
@@ -11,12 +11,13 @@ import { inviteReviewer } from '../../redux/reviewers'
 import { ValidatedTextField } from '../AuthorList/FormItems'
 
 const ReviewerForm = ({
-  clearForm,
-  selectReviewer,
-  handleSubmit,
   users,
+  clearForm,
   isFetching,
+  handleSubmit,
   filteredUsers,
+  reviewerError,
+  selectReviewer,
 }) => (
   <Root>
     <Row>
@@ -27,6 +28,11 @@ const ReviewerForm = ({
       <ValidatedTextField label="First name" name="firstName" />
       <ValidatedTextField label="Affiliation" name="affiliation" />
     </Row>
+    {reviewerError && (
+      <CenterRow>
+        <Err>{reviewerError}</Err>
+      </CenterRow>
+    )}
     <ButtonsContainer>
       <FormButton onClick={clearForm}>Clear</FormButton>
       {isFetching ? (
@@ -92,6 +98,12 @@ const FormButton = styled(Button)`
   margin: ${th('subGridUnit')};
 `
 
+const Err = styled.span`
+  color: ${th('colorError')};
+  font-family: ${th('fontReading')};
+  font-size: ${th('fontSizeBaseSmall')};
+`
+
 const ButtonsContainer = styled.div`
   display: flex;
   justify-content: flex-end;
@@ -111,6 +123,10 @@ const Row = styled.div`
   flex-direction: row;
 `
 
+const CenterRow = Row.extend`
+  justify-content: center;
+`
+
 const Root = styled.div`
   align-self: stretch;
   border: ${th('borderDefault')};
diff --git a/packages/components-faraday/src/components/utils.js b/packages/components-faraday/src/components/utils.js
index 54cd85c4ada4e7724bf918000267b8019a442a3c..e4734a369ac88f22b61fcc490d87b87e547ddc83 100644
--- a/packages/components-faraday/src/components/utils.js
+++ b/packages/components-faraday/src/components/utils.js
@@ -76,12 +76,7 @@ const emailRegex = new RegExp(
 export const emailValidator = value =>
   emailRegex.test(value) ? undefined : 'Invalid email'
 
-const alreadyAnswered = `You have already answered this invitation.`
 export const redirectToError = redirectFn => err => {
   const errorText = get(JSON.parse(err.response), 'error')
-  if (errorText.includes('has already been answered')) {
-    redirectFn('/error-page', alreadyAnswered)
-  } else {
-    redirectFn('/error-page', 'Oops! Something went wrong.')
-  }
+  redirectFn('/error-page', errorText || 'Oops! Something went wrong.')
 }
diff --git a/packages/components-faraday/src/redux/reviewers.js b/packages/components-faraday/src/redux/reviewers.js
index 51d559637995a1280ca6955a8467058c6b063ed2..7678362184dadde9df289656d5e1a47763da2874 100644
--- a/packages/components-faraday/src/redux/reviewers.js
+++ b/packages/components-faraday/src/redux/reviewers.js
@@ -68,6 +68,7 @@ const initialState = {
 
 // selectors
 export const selectReviewers = state => get(state, 'reviewers.reviewers') || []
+export const selectReviewersError = state => get(state, 'reviewers.error')
 export const selectFetchingReviewers = state =>
   get(state, 'reviewers.fetching.reviewers') || false
 export const selectFetchingInvite = state =>
@@ -98,7 +99,10 @@ export const inviteReviewer = (reviewerData, collectionId) => dispatch => {
   return create(`/collections/${collectionId}/invitations`, {
     ...reviewerData,
     role: 'reviewer',
-  }).then(() => dispatch(inviteSuccess()), err => dispatch(inviteError(err)))
+  }).then(
+    () => dispatch(inviteSuccess()),
+    err => dispatch(inviteError(get(JSON.parse(err.response), 'error'))),
+  )
 }
 
 export const setReviewerPassword = reviewerBody => dispatch => {
@@ -205,6 +209,7 @@ export default (state = initialState, action = {}) => {
           ...state.fetching,
           invite: false,
         },
+        error: null,
       }
     case INVITE_REVIEWER_ERROR:
       return {