diff --git a/packages/component-manuscript/src/components/ReviewerReportForm.js b/packages/component-manuscript/src/components/ReviewerReportForm.js
index 11f97c4f179e4bd16e8e7eabcdfa646302023448..ea57788bd9a701628c868f09f676efc108ae2fcb 100644
--- a/packages/component-manuscript/src/components/ReviewerReportForm.js
+++ b/packages/component-manuscript/src/components/ReviewerReportForm.js
@@ -7,27 +7,27 @@ import styled, { css } from 'styled-components'
 import {
   th,
   Menu,
-  ValidatedField,
   Icon,
   Button,
-  ErrorText,
   Spinner,
+  ErrorText,
+  ValidatedField,
 } from '@pubsweet/ui'
 import { compose, withHandlers, withProps } from 'recompose'
 import {
   reduxForm,
   isSubmitting,
-  change as changeForm,
   getFormValues,
+  change as changeForm,
 } from 'redux-form'
 import AutosaveIndicator from 'pubsweet-component-wizard/src/components/AutosaveIndicator'
 
 import {
   uploadFile,
   deleteFile,
+  getFileError,
   getSignedUrl,
   getRequestStatus,
-  getFileError,
 } from 'pubsweet-components-faraday/src/redux/files'
 import {
   FileItem,
@@ -35,8 +35,8 @@ import {
 } from 'pubsweet-components-faraday/src/components/Files'
 
 import {
-  ConfirmationModal,
   withModal2,
+  ConfirmationModal,
 } from 'pubsweet-component-modal/src/components'
 import {
   selectError,
@@ -46,9 +46,9 @@ import {
 } from 'pubsweet-components-faraday/src/redux/recommendations'
 
 import {
-  parseReviewResponseToForm,
   onReviewSubmit,
   onReviewChange,
+  parseReviewResponseToForm,
 } from './utils'
 
 const guidelinesLink =
diff --git a/packages/component-manuscript/src/components/ReviewsAndReports.js b/packages/component-manuscript/src/components/ReviewsAndReports.js
index be8d50105f6bc8e2388a260040ebb66a744d0bde..9010bcba84833b0582e083bf9c9352602305ac16 100644
--- a/packages/component-manuscript/src/components/ReviewsAndReports.js
+++ b/packages/component-manuscript/src/components/ReviewsAndReports.js
@@ -87,6 +87,7 @@ const ReviewsAndReports = ({
             <ReviewReportCard report={report} />
           ) : (
             <ReviewerReportForm
+              modalKey={`review-${project.id}`}
               project={project}
               review={review}
               version={version}
diff --git a/packages/components-faraday/src/components/Dashboard/DashboardCard.js b/packages/components-faraday/src/components/Dashboard/DashboardCard.js
index a1ca7295e2238f7c90058c8472c80fbfcabda8e2..f7fb17e8af9ca2a3c0bc8b48fe3cd630ad313222 100644
--- a/packages/components-faraday/src/components/Dashboard/DashboardCard.js
+++ b/packages/components-faraday/src/components/Dashboard/DashboardCard.js
@@ -4,7 +4,7 @@ import { connect } from 'react-redux'
 import PropTypes from 'prop-types'
 import { Button, Icon, th } from '@pubsweet/ui'
 import styled, { css, withTheme } from 'styled-components'
-import { compose, getContext, withHandlers } from 'recompose'
+import { compose, getContext, withHandlers, withProps } from 'recompose'
 import {
   withModal,
   ConfirmationModal,
@@ -35,6 +35,7 @@ const DashboardCard = ({
   showAbstractModal,
   canInviteReviewers,
   showConfirmationModal,
+  canMakeRecommendation,
   ...rest
 }) => {
   const { submitted, title, type } = parseVersion(version)
@@ -59,7 +60,7 @@ const DashboardCard = ({
             />
           </LeftDetails>
           <RightDetails flex={2}>
-            {isHE && (
+            {canMakeRecommendation && (
               <Recommendation
                 collectionId={project.id}
                 fragmentId={version.id}
@@ -165,6 +166,16 @@ const DashboardCard = ({
   ) : null
 }
 
+const isHEToManuscript = (state, collectionId) => {
+  const currentUserId = get(state, 'currentUser.user.id')
+  const collection = state.collections.find(c => c.id === collectionId) || {}
+  const userInvitation = collection.invitations.find(
+    i => i.role === 'handlingEditor' && i.userId === currentUserId,
+  )
+
+  return userInvitation ? userInvitation.isAccepted : false
+}
+
 export default compose(
   getContext({ journal: PropTypes.object, currentUser: PropTypes.object }),
   withTheme,
@@ -175,6 +186,11 @@ export default compose(
   connect((state, { project }) => ({
     isHE: currentUserIs(state, 'handlingEditor'),
     invitation: selectInvitation(state, project.id),
+    isHEToManuscript: isHEToManuscript(state, project.id),
+  })),
+  withProps(({ isHEToManuscript, project }) => ({
+    canMakeRecommendation:
+      isHEToManuscript && get(project, 'status') === 'reviewCompleted',
   })),
   withHandlers({
     canInviteReviewers: ({ currentUser, project }) => () => {
diff --git a/packages/components-faraday/src/components/Invitations/ReviewerBreakdown.js b/packages/components-faraday/src/components/Invitations/ReviewerBreakdown.js
index 58721de0ca53054b0721ce0b874960e8d6c476f2..2415e9a83e83d65d8401e23c84e8d194a1fa369e 100644
--- a/packages/components-faraday/src/components/Invitations/ReviewerBreakdown.js
+++ b/packages/components-faraday/src/components/Invitations/ReviewerBreakdown.js
@@ -1,9 +1,9 @@
 import React from 'react'
 import { th } from '@pubsweet/ui'
 import { connect } from 'react-redux'
-import { selectFragment, selectCollection } from 'xpub-selectors'
 import styled, { css } from 'styled-components'
 import { compose, withHandlers } from 'recompose'
+import { selectFragment, selectCollection } from 'xpub-selectors'
 import { selectReviewers } from 'pubsweet-components-faraday/src/redux/reviewers'
 
 const ReviewerBreakdown = ({
@@ -58,7 +58,7 @@ export default compose(
         <BreakdownText>
           <b>{reviewers.length}</b> invited,
           <b> {report.accepted}</b> agreed,
-          <b> {report.declined}</b> declined
+          <b> {report.declined}</b> declined,
           <b> {report.submitted}</b> submitted
         </BreakdownText>
       )
diff --git a/packages/components-faraday/src/components/MakeRecommendation/RecommendWizard.js b/packages/components-faraday/src/components/MakeRecommendation/RecommendWizard.js
index 350156cab985ab5998de27d641e6469f4cbed9b5..e6c32a0804178d143311a24758fa323942205e14 100644
--- a/packages/components-faraday/src/components/MakeRecommendation/RecommendWizard.js
+++ b/packages/components-faraday/src/components/MakeRecommendation/RecommendWizard.js
@@ -19,20 +19,20 @@ const RecommendWizard = ({
   decision,
   nextStep,
   prevStep,
-  hideModal,
+  closeModal,
   submitForm,
   isFetching,
   recommendationError,
   ...rest
 }) => (
   <FormItems.RootContainer>
-    <IconButton onClick={hideModal}>
+    <IconButton onClick={closeModal}>
       <Icon primary>x</Icon>
     </IconButton>
     {step === 0 && (
       <StepOne
         disabled={!decision}
-        hideModal={hideModal}
+        hideModal={closeModal}
         onSubmit={nextStep}
         {...rest}
       />
@@ -65,6 +65,10 @@ export default compose(
   withHandlers({
     nextStep: ({ changeStep }) => () => changeStep(s => s + 1),
     prevStep: ({ changeStep }) => () => changeStep(s => (s === 0 ? 0 : s - 1)),
+    closeModal: ({ hideModal, resetForm }) => () => {
+      hideModal()
+      resetForm('recommendation')
+    },
     submitForm: ({
       showModal,
       hideModal,