diff --git a/packages/component-faraday-selectors/src/index.js b/packages/component-faraday-selectors/src/index.js
index 1493dcaf07f232dc17d2ec03e4ea9e9090719b44..3a774ca94dbc52c0786a550c3dc096001946b53e 100644
--- a/packages/component-faraday-selectors/src/index.js
+++ b/packages/component-faraday-selectors/src/index.js
@@ -270,17 +270,9 @@ export const getHERecommendation = (state, collectionId, fragmentId) => {
   )
 }
 
-const canMakeDecisionStatuses = [
-  'submitted',
-  'pendingApproval',
-  'underReview',
-  'reviewCompleted',
-]
 export const canMakeDecision = (state, collection = {}) => {
-  const status = get(collection, 'status', 'draft')
-
   const isEIC = currentUserIs(state, 'adminEiC')
-  return isEIC && canMakeDecisionStatuses.includes(status)
+  return isEIC
 }
 
 const collectionReviewerReports = state =>
diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js
index dc5314f613c215bb949c5735f25c395f83e8b5f6..9d1e9b3d88350004f2f2365eb15aabf1637ca706 100644
--- a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js
+++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js
@@ -33,6 +33,12 @@ const eicDecisions = [
     modalTitle: 'Publish Manuscript',
     modalSubtitle: 'A publish decision is final',
   },
+  {
+    value: 'revision',
+    label: 'Request Revision',
+    modalTitle: 'Request Revision',
+    modalSubtitle: 'A request revision decision is final',
+  },
   {
     value: 'reject',
     label: 'Reject',
@@ -41,9 +47,17 @@ const eicDecisions = [
   },
 ]
 
+const filterOptions = (eicDecisions, status) => {
+  if (status === 'submitted') return eicDecisions.slice(2)
+  if (status === 'pendingApproval') return eicDecisions
+  return [last(eicDecisions)]
+}
 const ManuscriptEicDecision = ({
-  isFetching,
+  status,
+  options,
+  decision,
   formValues,
+  isFetching,
   handleSubmit,
   messagesLabel,
   collection = {},
@@ -59,32 +73,23 @@ const ManuscriptEicDecision = ({
         <ItemOverrideAlert flex={0} vertical>
           <Label required>Decision</Label>
           <ValidatedField
-            component={input => (
-              <Menu
-                {...input}
-                options={
-                  get(collection, 'status', 'submitted') !== 'pendingApproval'
-                    ? [last(eicDecisions)]
-                    : eicDecisions
-                }
-              />
-            )}
+            component={input => <Menu {...input} options={options} />}
             name="decision"
             validate={[required]}
           />
         </ItemOverrideAlert>
       </Row>
 
-      {get(formValues, 'decision') !== 'publish' && (
+      {decision !== 'publish' && (
         <Row mt={2}>
           <Item vertical>
-            <Label required>
+            <Label required={decision !== 'reject'}>
               {messagesLabel[get(formValues, 'decision', 'reject')]}
             </Label>
             <ValidatedField
               component={ValidatedTextArea}
               name="message"
-              validate={[required]}
+              validate={decision !== 'reject' ? [required] : undefined}
             />
           </Item>
         </Row>
@@ -106,13 +111,18 @@ export default compose(
     modalKey: 'eic-decision',
     modalComponent: MultiAction,
   })),
-  withProps(({ formValues }) => ({
+  withProps(({ formValues, collection }) => ({
     modalTitle: eicDecisions.find(
       o => o.value === get(formValues, 'decision', 'publish'),
     ).modalTitle,
     modalSubtitle: eicDecisions.find(
       o => o.value === get(formValues, 'decision', 'publish'),
     ).modalSubtitle,
+    decision: get(formValues, 'decision'),
+    options: filterOptions(
+      eicDecisions,
+      get(collection, 'status', 'submitted'),
+    ),
   })),
   reduxForm({
     form: 'eic-decision',
diff --git a/packages/component-manuscript/src/components/ManuscriptLayout.js b/packages/component-manuscript/src/components/ManuscriptLayout.js
index 5f870ecfa43fe24b4886780c6a78feaf2f0d675b..868b408304a4537d0d39affe98fabaeb3e0c3ff5 100644
--- a/packages/component-manuscript/src/components/ManuscriptLayout.js
+++ b/packages/component-manuscript/src/components/ManuscriptLayout.js
@@ -24,6 +24,7 @@ import ReviewerReports from './ReviewerReports'
 const messagesLabel = {
   'return-to-handling-editor': 'Comments for Handling Editor',
   reject: 'Comments for Author',
+  revision: 'Comments for Author',
 }
 
 const cannotViewReviewersDetails = ['revisionRequested', 'pendingApproval']
diff --git a/packages/xpub-faraday/app/config/journal/recommendations.js b/packages/xpub-faraday/app/config/journal/recommendations.js
index 736effd199a5801309f3fe4e1a4f622c88cc33ad..99b50aa2d2eba35e06e7a127dd19a6631eed2b69 100644
--- a/packages/xpub-faraday/app/config/journal/recommendations.js
+++ b/packages/xpub-faraday/app/config/journal/recommendations.js
@@ -15,4 +15,8 @@ module.exports = [
     value: 'reject',
     label: 'Reject',
   },
+  {
+    value: 'revision',
+    label: 'Revision',
+  },
 ]
diff --git a/packages/xpub-faraday/config/validations.js b/packages/xpub-faraday/config/validations.js
index 6d1ac18d402b9baa6333ed22f7cfbe5d2f566cdf..c60e5f85015904e4218550b1d78ab84567d28d33 100644
--- a/packages/xpub-faraday/config/validations.js
+++ b/packages/xpub-faraday/config/validations.js
@@ -126,6 +126,7 @@ module.exports = {
             'reject',
             'publish',
             'revise',
+            'revision',
             'major',
             'minor',
             'return-to-handling-editor',