diff --git a/packages/component-faraday-selectors/src/index.js b/packages/component-faraday-selectors/src/index.js
index 40e8640c8c2cc1b685b37ba1a927b34fbf020c6e..d51783f1446fedd11253274513411241b8fc01ad 100644
--- a/packages/component-faraday-selectors/src/index.js
+++ b/packages/component-faraday-selectors/src/index.js
@@ -115,6 +115,8 @@ export const authorCanViewReportsDetails = (
   )
 }
 
+export const canInviteReviewersAsEiC = state => !currentUserIs(state, 'isEiC')
+
 export const reviewersCanViewReviewerReports = (
   state,
   collection = {},
diff --git a/packages/component-faraday-ui/src/ManuscriptCard.js b/packages/component-faraday-ui/src/ManuscriptCard.js
index 30a953fff219c1b6eb77198682c493ff63e5b137..d3d8373014192d140a96096d06e6e7068aa0a9c9 100644
--- a/packages/component-faraday-ui/src/ManuscriptCard.js
+++ b/packages/component-faraday-ui/src/ManuscriptCard.js
@@ -26,11 +26,11 @@ const ManuscriptCard = ({
   onDelete,
   isFetching,
   onCardClick,
-  fragment,
+  fragment = {},
+  manuscriptType = {},
   canViewReports,
   deleteManuscript,
   canDeleteManuscript,
-  manuscriptType = {},
   collection: { visibleStatus = 'Draft', handlingEditor, customId, id: collId },
 }) => {
   const {
diff --git a/packages/component-faraday-ui/src/ReviewersTable.js b/packages/component-faraday-ui/src/ReviewersTable.js
index f9ba6708bc73a0ebbbced263fc9bc85176a3b279..1278bbf3199cec07cdbeba58842f0732021e817f 100644
--- a/packages/component-faraday-ui/src/ReviewersTable.js
+++ b/packages/component-faraday-ui/src/ReviewersTable.js
@@ -9,6 +9,7 @@ import { compose, shouldUpdate, withHandlers, withProps } from 'recompose'
 import { Label, PersonInvitation, Text } from './'
 
 const ReviewersTable = ({
+  currentUser,
   invitations = [],
   getInvitationStatus,
   renderAcceptedLabel,
@@ -71,13 +72,14 @@ const ReviewersTable = ({
               </DateParser>
             </td>
             <HiddenCell>
-              {!invitation.hasAnswer && (
-                <PersonInvitation
-                  {...invitation}
-                  onResend={onResendReviewerInvite}
-                  onRevoke={onRevokeReviewerInvite}
-                />
-              )}
+              {!invitation.hasAnswer &&
+                get(currentUser, 'permissions.canInviteReviewersAsEiC') && (
+                  <PersonInvitation
+                    {...invitation}
+                    onResend={onResendReviewerInvite}
+                    onRevoke={onRevokeReviewerInvite}
+                  />
+                )}
             </HiddenCell>
           </TableRow>
         ))}
diff --git a/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js b/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js
index d8c5df524a74c5de294c3d9bb7611b4cc2875e95..98434bfa2ea4ddad76bc4fc0c563756d0a85e9e9 100644
--- a/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js
+++ b/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js
@@ -27,6 +27,7 @@ const ReviewerDetails = ({
   reports = [],
   fragment,
   invitations,
+  currentUser,
   publonReviewers,
   isFetching,
   previewFile,
@@ -42,6 +43,7 @@ const ReviewerDetails = ({
   highlight,
   canViewReviewersDetails,
   authorCanViewReportsDetails,
+  canSeeReviewerSuggestionsTab,
   isLatestVersion,
   ...rest
 }) => (
@@ -66,7 +68,8 @@ const ReviewerDetails = ({
               <H4>Reviewer Details</H4>
             </TabButton>
             {canInviteReviewers &&
-              isLatestVersion && (
+              isLatestVersion &&
+              get(currentUser, 'permissions.canInviteReviewersAsEiC') && (
                 <TabButton
                   data-test-id="reviewer-tab-suggestions"
                   ml={1}
@@ -92,7 +95,8 @@ const ReviewerDetails = ({
             {selectedTab === 0 && (
               <Fragment>
                 {canInviteReviewers &&
-                  isLatestVersion && (
+                  isLatestVersion &&
+                  get(currentUser, 'permissions.canInviteReviewersAsEiC') && (
                     <InviteReviewers
                       modalKey="invite-reviewers"
                       onInvite={onInviteReviewer}
@@ -100,6 +104,7 @@ const ReviewerDetails = ({
                   )}
 
                 <ReviewersTable
+                  currentUser={currentUser}
                   invitations={invitations}
                   onResendReviewerInvite={onResendReviewerInvite}
                   onRevokeReviewerInvite={onRevokeReviewerInvite}
@@ -107,7 +112,8 @@ const ReviewerDetails = ({
               </Fragment>
             )}
             {selectedTab === 2 &&
-              isLatestVersion && (
+              isLatestVersion &&
+              get(currentUser, 'permissions.canInviteReviewersAsEiC') && (
                 <PublonsTable
                   onInvite={onInvitePublonReviewer}
                   publonsError={fetchingError}
diff --git a/packages/component-faraday-ui/src/manuscriptDetails/DeleteManuscriptModal.js b/packages/component-faraday-ui/src/manuscriptDetails/DeleteManuscriptModal.js
index 7dfb480b56dae130a6d08012d9e8ec74808d2681..514a206200203e8dc3fd17da0763e4e7337caf91 100644
--- a/packages/component-faraday-ui/src/manuscriptDetails/DeleteManuscriptModal.js
+++ b/packages/component-faraday-ui/src/manuscriptDetails/DeleteManuscriptModal.js
@@ -23,10 +23,19 @@ const Form = compose(
   }),
 )(({ fetchingError, hideModal, handleSubmit, isFetching }) => (
   <Root>
-    <IconButton icon="x" onClick={hideModal} right={5} secondary top={5} />
-    <H2>Are you sure you want to remove this manuscript?</H2>
+    <IconButton
+      icon="x"
+      iconSize={2}
+      onClick={hideModal}
+      right={5}
+      secondary
+      top={5}
+    />
+    <H2 ml={4} mr={4}>
+      Are you sure you want to remove this manuscript?
+    </H2>
 
-    <Row mt={1}>
+    <Row mt={2}>
       <ItemOverrideAlert data-test-id="manuscript-return-reason" vertical>
         <Label required>
           Reason for removing the manuscript from the platform:
@@ -34,6 +43,7 @@ const Form = compose(
         <ValidatedField
           component={TextArea}
           name="comments"
+          style={{ 'max-width': '440px', 'min-width': '440px' }}
           validate={[required]}
         />
       </ItemOverrideAlert>
@@ -43,7 +53,7 @@ const Form = compose(
         {fetchingError}
       </Text>
     )}
-    <Row mt={1}>
+    <Row mt={3}>
       {isFetching ? (
         <Spinner size={3} />
       ) : (
@@ -52,7 +62,7 @@ const Form = compose(
             NO
           </Button>
           <Button data-test-id="modal-confirm" onClick={handleSubmit} primary>
-            YES
+            OK
           </Button>
         </Fragment>
       )}
@@ -87,18 +97,17 @@ DeleteManuscriptModal.defaultProps = {
 const DeleteIcon = styled(ActionLink)``
 const Root = styled.div`
   align-items: center;
-  background: ${th('colorBackground')};
+  background: ${th('colorBackgroundHue')};
   border: ${th('borderWidth')} ${th('borderStyle')} transparent;
   border-radius: ${th('borderRadius')};
   box-shadow: ${th('boxShadow')};
   display: flex;
   flex-direction: column;
   position: relative;
-  padding: calc(${th('gridUnit')} * 3);
-  width: calc(${th('gridUnit')} * 60);
+  padding: calc(${th('gridUnit')} * 5);
+  width: calc(${th('gridUnit')} * 65);
 
   ${H2} {
-    margin: 0;
     text-align: center;
   }
 `
diff --git a/packages/component-invite/src/tests/fragmentsInvitations/delete.test.js b/packages/component-invite/src/tests/fragmentsInvitations/delete.test.js
index d7ee683a82165b31adf4b13eb53779be1c1d8b9c..c6e5c0fc9718533c793c610a05e47d2393464148 100644
--- a/packages/component-invite/src/tests/fragmentsInvitations/delete.test.js
+++ b/packages/component-invite/src/tests/fragmentsInvitations/delete.test.js
@@ -59,11 +59,11 @@ describe('Delete Fragments Invitations route handler', () => {
     )
   })
   it('should return an error when the invitation does not exist', async () => {
-    const { editorInChief } = testFixtures.users
+    const { handlingEditor } = testFixtures.users
     const { collection } = testFixtures.collections
     const { fragment } = testFixtures.fragments
     const res = await requests.sendRequest({
-      userId: editorInChief.id,
+      userId: handlingEditor.id,
       route,
       models,
       path,
@@ -78,11 +78,11 @@ describe('Delete Fragments Invitations route handler', () => {
     expect(data.error).toEqual('Invitation invalid-id not found')
   })
   it('should return success when the collection and invitation exist', async () => {
-    const { editorInChief } = testFixtures.users
+    const { handlingEditor } = testFixtures.users
     const { collection } = testFixtures.collections
     const { fragment } = testFixtures.fragments
     const res = await requests.sendRequest({
-      userId: editorInChief.id,
+      userId: handlingEditor.id,
       route,
       models,
       path,
diff --git a/packages/component-invite/src/tests/fragmentsInvitations/post.test.js b/packages/component-invite/src/tests/fragmentsInvitations/post.test.js
index cf4b990bb539ca664bb997a79bd136142908ac57..64a1efa019618bce9eaec3d1be17c41d1ce9192b 100644
--- a/packages/component-invite/src/tests/fragmentsInvitations/post.test.js
+++ b/packages/component-invite/src/tests/fragmentsInvitations/post.test.js
@@ -54,7 +54,7 @@ describe('Post fragments invitations route handler', () => {
   })
 
   it('should return success when a reviewer is invited', async () => {
-    const { user, editorInChief } = testFixtures.users
+    const { user, handlingEditor } = testFixtures.users
     const { collection } = testFixtures.collections
     const { fragment } = testFixtures.fragments
 
@@ -65,7 +65,7 @@ describe('Post fragments invitations route handler', () => {
 
     const res = await requests.sendRequest({
       body,
-      userId: editorInChief.id,
+      userId: handlingEditor.id,
       route,
       models,
       path,
@@ -81,7 +81,7 @@ describe('Post fragments invitations route handler', () => {
   })
 
   it('should return success when resending an invitation to an existing reviewer', async () => {
-    const { editorInChief, reviewer } = testFixtures.users
+    const { handlingEditor, reviewer } = testFixtures.users
     const { collection } = testFixtures.collections
     const { fragment } = testFixtures.fragments
 
@@ -93,7 +93,7 @@ describe('Post fragments invitations route handler', () => {
 
     const res = await requests.sendRequest({
       body,
-      userId: editorInChief.id,
+      userId: handlingEditor.id,
       route,
       models,
       path,
diff --git a/packages/component-manuscript/src/components/ManuscriptPage.js b/packages/component-manuscript/src/components/ManuscriptPage.js
index 928d9077cc3d789097545716b34e5431ce9d0b14..ee40454d7d33d6901eea583c4d365d50a517f1fd 100644
--- a/packages/component-manuscript/src/components/ManuscriptPage.js
+++ b/packages/component-manuscript/src/components/ManuscriptPage.js
@@ -49,6 +49,7 @@ import {
   isFetchingFromAutosave,
   canMakeHERecommendation,
   canViewReviewersDetails,
+  canInviteReviewersAsEiC,
   canViewEditorialComments,
   pendingReviewerInvitation,
   canViewResponseFromAuthor,
@@ -196,6 +197,7 @@ export default compose(
           canMakeDecision: canMakeDecision(state, collection),
           canEditManuscript: canEditManuscript(state, collection, fragment),
           canViewReviewersDetails: canViewReviewersDetails(state, collection),
+          canInviteReviewersAsEiC: canInviteReviewersAsEiC(state),
           authorCanViewReportsDetails: authorCanViewReportsDetails(
             state,
             collection,
diff --git a/packages/xpub-faraday/config/authsome-mode.js b/packages/xpub-faraday/config/authsome-mode.js
index cb03588078258b7265a3b9c97e3384601c9b25fa..f739b073104cea996d271dc6190ca908e7d08421 100644
--- a/packages/xpub-faraday/config/authsome-mode.js
+++ b/packages/xpub-faraday/config/authsome-mode.js
@@ -424,6 +424,20 @@ async function applyEditorInChiefPolicy(user, operation, object, context) {
       return false
     }
   }
+  if (operation === 'POST') {
+    if (
+      get(object, 'path') ===
+      '/api/collections/:collectionId/fragments/:fragmentId/invitations'
+    )
+      return false
+  }
+  if (operation === 'DELETE') {
+    if (
+      get(object, 'path') ===
+      '/api/collections/:collectionId/fragments/:fragmentId/invitations/:invitationId'
+    )
+      return false
+  }
   return true
 }