diff --git a/packages/component-faraday-ui/src/Tabs.js b/packages/component-faraday-ui/src/Tabs.js
index 76d0699c166690707ae38dc344f0cfa5f0833d44..a7d90025dcd5eb9ce1d48215b0da37319fe9dffa 100644
--- a/packages/component-faraday-ui/src/Tabs.js
+++ b/packages/component-faraday-ui/src/Tabs.js
@@ -4,12 +4,9 @@ const Tabs = ({ items, selectedTab, changeTab, children }) =>
   children({ selectedTab, changeTab })
 
 export default compose(
-  withStateHandlers(
-    { selectedTab: 0 },
-    {
-      changeTab: () => selectedTab => ({
-        selectedTab,
-      }),
-    },
-  ),
+  withStateHandlers(({ selectedTab = 0 }) => ({ selectedTab }), {
+    changeTab: () => selectedTab => ({
+      selectedTab,
+    }),
+  }),
 )(Tabs)
diff --git a/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js b/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js
index b6184d7fbde2515fdf7cc4808626b309129c2f21..e5143cfe49b9d9a77998fa1b3f9286355cb5d1d5 100644
--- a/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js
+++ b/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js
@@ -20,10 +20,30 @@ import {
 } from 'pubsweet-component-faraday-ui/src'
 
 const options = [
-  { value: 'publish', label: 'Publish' },
-  { value: 'reject', label: 'Reject' },
-  { value: 'minor', label: 'Request Minor Revision' },
-  { value: 'major', label: 'Request Major Revision' },
+  {
+    value: 'publish',
+    label: 'Publish',
+    message: 'Recommend Manuscript for Publishing',
+    button: 'Submit Recommendation',
+  },
+  {
+    value: 'reject',
+    label: 'Reject',
+    message: 'Recommend Manuscript for Rejection',
+    button: 'Submit Recommendation',
+  },
+  {
+    value: 'minor',
+    label: 'Request Minor Revision',
+    message: 'Request Minor Revision',
+    button: 'Request Revision',
+  },
+  {
+    value: 'major',
+    label: 'Request Major Revision',
+    message: 'Request Major Revision',
+    button: 'Request Revision',
+  },
 ]
 
 const parseFormValues = ({ recommendation, ...rest }) => {
@@ -68,17 +88,15 @@ const HERecommendation = ({
         </ItemOverrideAlert>
       </Row>
 
-      {get(formValues, 'recommendation') === 'publish' ||
-      get(formValues, 'recommendation') === 'reject' ? (
+      {get(formValues, 'recommendation') === 'minor' ||
+      get(formValues, 'recommendation') === 'major' ? (
         <Row mt={2}>
-          <ItemOverrideAlert vertical>
-            <Label required>Message for Author</Label>
-            <ValidatedField
-              component={Textarea}
-              name="public"
-              validate={[required]}
-            />
-          </ItemOverrideAlert>
+          <ResponsiveItem mr={1} vertical>
+            <Label>
+              Message for Author <Text secondary>Optional</Text>
+            </Label>
+            <ValidatedField component={Textarea} name="public" />
+          </ResponsiveItem>
         </Row>
       ) : (
         <ResponsiveRow mt={2}>
@@ -100,7 +118,11 @@ const HERecommendation = ({
 
       <Row justify="flex-end" mt={2}>
         <Button onClick={handleSubmit} primary size="medium">
-          Submit recommendation
+          {
+            options.find(
+              o => o.value === get(formValues, 'recommendation', 'publish'),
+            ).button
+          }
         </Button>
       </Row>
     </Root>
@@ -116,17 +138,31 @@ export default compose(
   withProps(({ formValues }) => ({
     modalTitle: options.find(
       o => o.value === get(formValues, 'recommendation', 'publish'),
-    ).label,
+    ).message,
+    confirmMessage: options.find(
+      o => o.value === get(formValues, 'recommendation', 'publish'),
+    ).button,
   })),
   reduxForm({
     form: 'HERecommendation',
     onSubmit: (
       values,
       dispatch,
-      { onRecommendationSubmit, showModal, setFetching, modalTitle },
+      {
+        onRecommendationSubmit,
+        showModal,
+        setFetching,
+        modalTitle,
+        confirmMessage,
+      },
     ) => {
       showModal({
         title: `${modalTitle}?`,
+        confirmText:
+          confirmMessage === 'Submit Recommendation'
+            ? 'Submit'
+            : confirmMessage,
+
         onConfirm: props => {
           onRecommendationSubmit(parseFormValues(values), {
             ...props,
diff --git a/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js b/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js
index 48126901139102f39cc8bee06828e9647fd50b10..d64a8a58c009bf3d77b62b2f5e2367b371d389c9 100644
--- a/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js
+++ b/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js
@@ -21,7 +21,7 @@ import {
 
 const ReviewerDetails = ({
   journal,
-  reports,
+  reports = [],
   fragment,
   invitations,
   previewFile,
@@ -47,7 +47,7 @@ const ReviewerDetails = ({
       toggle={toggle}
       {...rest}
     >
-      <Tabs>
+      <Tabs selectedTab={reports.length ? 1 : 0}>
         {({ selectedTab, changeTab }) => (
           <Fragment>
             <TabsHeader>
diff --git a/packages/component-manuscript/src/components/ManuscriptLayout.js b/packages/component-manuscript/src/components/ManuscriptLayout.js
index 2450088dfa1d23f29cd9070bd21735f3a1f5d440..fc006093cb6812da5384997a07d97dba965ed1f3 100644
--- a/packages/component-manuscript/src/components/ManuscriptLayout.js
+++ b/packages/component-manuscript/src/components/ManuscriptLayout.js
@@ -181,15 +181,17 @@ const ManuscriptLayout = ({
           />
         )}
 
-        {get(currentUser, 'permissions.canMakeHERecommendation', false) && (
-          <HERecommendation
-            formValues={get(formValues, 'editorialRecommendation', {})}
-            hasReviewerReports={reviewerRecommendations.length > 0}
-            highlight={reviewerRecommendations.length > 0}
-            modalKey="heRecommendation"
-            onRecommendationSubmit={onEditorialRecommendation}
-          />
-        )}
+        {get(currentUser, 'permissions.canMakeHERecommendation', false) &&
+          (!invitationsWithReviewers.length ||
+            reviewerRecommendations.length > 0) && (
+            <HERecommendation
+              formValues={get(formValues, 'editorialRecommendation', {})}
+              hasReviewerReports={reviewerRecommendations.length > 0}
+              highlight={reviewerRecommendations.length > 0}
+              modalKey="heRecommendation"
+              onRecommendationSubmit={onEditorialRecommendation}
+            />
+          )}
 
         {get(currentUser, 'permissions.canMakeDecision', false) && (
           <ManuscriptEicDecision
diff --git a/packages/component-manuscript/src/components/ManuscriptPage.js b/packages/component-manuscript/src/components/ManuscriptPage.js
index aa69fb6d10850f9150dc2c078216f437074dfe2d..ac4868da0b46a6367c6241e128a699d413fb9f63 100644
--- a/packages/component-manuscript/src/components/ManuscriptPage.js
+++ b/packages/component-manuscript/src/components/ManuscriptPage.js
@@ -170,9 +170,7 @@ export default compose(
         eicDecision: getFormValues('eic-decision')(state),
         reviewerReport: getFormValues('reviewerReport')(state),
         responseToInvitation: getFormValues('answer-invitation')(state),
-        editorialRecommendation: getFormValues('editorialRecommendation')(
-          state,
-        ),
+        editorialRecommendation: getFormValues('HERecommendation')(state),
       },
       invitationsWithReviewers: getInvitationsWithReviewersForFragment(
         state,