diff --git a/packages/component-manuscript/src/components/ManuscriptPage.js b/packages/component-manuscript/src/components/ManuscriptPage.js
index 3e6aff553af19936e6e943f7aabd9c70ceceb79c..423059a5c4eb5ac5d6f3a194138524e8124024fc 100644
--- a/packages/component-manuscript/src/components/ManuscriptPage.js
+++ b/packages/component-manuscript/src/components/ManuscriptPage.js
@@ -12,8 +12,8 @@ import {
 } from 'xpub-selectors'
 import { get as apiGet } from 'pubsweet-client/src/helpers/api'
 import { compose, lifecycle, withHandlers, withState } from 'recompose'
-import { reviewerDecision } from 'pubsweet-components-faraday/src/redux/reviewers'
 import { getSignedUrl } from 'pubsweet-components-faraday/src/redux/files'
+import { reviewerDecision } from 'pubsweet-components-faraday/src/redux/reviewers'
 import {
   getHandlingEditors,
   selectHandlingEditors,
@@ -76,6 +76,8 @@ export default compose(
       const isEic = get(currentUser, 'editorInChief')
       const isHe = get(currentUser, 'handlingEditor')
       switch (type) {
+        case 'isHE':
+          return isHe
         case 'staff':
           return isAdmin || isEic || isHe
         case 'adminEiC':
diff --git a/packages/component-manuscript/src/components/SideBarActions.js b/packages/component-manuscript/src/components/SideBarActions.js
index e31d92a43e2cb4ac057523a11b2afc4fbc9277e8..ba0da4b513a84efbc2e01a4f432cfb050d5719e5 100644
--- a/packages/component-manuscript/src/components/SideBarActions.js
+++ b/packages/component-manuscript/src/components/SideBarActions.js
@@ -1,13 +1,21 @@
 import React from 'react'
 import { th, Icon } from '@pubsweet/ui'
 import styled from 'styled-components'
-
 import ZipFiles from 'pubsweet-components-faraday/src/components/Files/ZipFiles'
+import { Recommendation } from 'pubsweet-components-faraday/src/components/MakeRecommendation'
+
 import { MakeDecision } from './'
 
 const SideBarActions = ({ project, version, currentUserIs }) => (
   <Root>
-    {currentUserIs('adminEiC') ? <MakeDecision /> : <div />}
+    {currentUserIs('adminEiC') && <MakeDecision />}
+    {currentUserIs('isHE') && (
+      <Recommendation
+        collectionId={project.id}
+        fragmentId={version.id}
+        modalKey={`recommend-${version.id}`}
+      />
+    )}
     <ZipFiles
       archiveName={`ID-${project.customId}`}
       collectionId={project.id}
diff --git a/packages/components-faraday/src/components/Dashboard/DashboardCard.js b/packages/components-faraday/src/components/Dashboard/DashboardCard.js
index 171a0270654b1bfb46b9715142c9972845938bc7..200ce0f6c810cd1bc6b2fa7da2bb874a2f91bb78 100644
--- a/packages/components-faraday/src/components/Dashboard/DashboardCard.js
+++ b/packages/components-faraday/src/components/Dashboard/DashboardCard.js
@@ -14,6 +14,7 @@ import AuthorsWithTooltip from 'pubsweet-component-manuscript/src/molecules/Auth
 
 import ZipFiles from '../Files/ZipFiles'
 import { InviteReviewers } from '../Reviewers/'
+import { currentUserIs } from '../../redux/users'
 import { selectInvitation } from '../../redux/reviewers'
 import { ReviewerDecision, HandlingEditorSection } from './'
 import { parseVersion, parseJournalIssue, mapStatusToLabel } from './../utils'
@@ -22,17 +23,18 @@ import { ReviewerBreakdown } from '../Invitations'
 import { Recommendation } from '../MakeRecommendation'
 
 const DashboardCard = ({
-  deleteProject,
+  isHE,
+  theme,
+  journal,
   history,
   project,
   version,
-  showAbstractModal,
-  journal,
-  showConfirmationModal,
-  theme,
+  invitation,
   currentUser,
+  deleteProject,
+  showAbstractModal,
   canInviteReviewers,
-  invitation,
+  showConfirmationModal,
   ...rest
 }) => {
   const { submitted, title, type } = parseVersion(version)
@@ -58,11 +60,13 @@ const DashboardCard = ({
             />
           </LeftDetails>
           <RightDetails flex={2}>
-            <Recommendation
-              collectionId={project.id}
-              fragmentId={version.id}
-              modalKey={`recommend-${version.id}`}
-            />
+            {isHE && (
+              <Recommendation
+                collectionId={project.id}
+                fragmentId={version.id}
+                modalKey={`recommend-${version.id}`}
+              />
+            )}
             <ZipFiles
               archiveName={`ID-${project.customId}`}
               collectionId={project.id}
@@ -165,6 +169,7 @@ export default compose(
     modalComponent: ConfirmationModal,
   }),
   connect((state, { project }) => ({
+    isHE: currentUserIs(state, 'handlingEditor'),
     invitation: selectInvitation(state, project.id),
   })),
   withHandlers({
diff --git a/packages/components-faraday/src/components/MakeRecommendation/Recommendation.js b/packages/components-faraday/src/components/MakeRecommendation/Recommendation.js
index 442d7fd8ef6e7b88216296f6209ee343251f4a8c..004eb9ebe53b03c89fbe5d46359ec70868f5f611 100644
--- a/packages/components-faraday/src/components/MakeRecommendation/Recommendation.js
+++ b/packages/components-faraday/src/components/MakeRecommendation/Recommendation.js
@@ -10,7 +10,7 @@ import {
 import { RecommendWizard } from './'
 
 const Recommendation = ({ showFirstStep }) => (
-  <Root onClick={showFirstStep}>Recommend</Root>
+  <Root onClick={showFirstStep}>Make recommendation</Root>
 )
 
 const SHOW_WIZARD = 'SHOW_WIZARD'
@@ -50,6 +50,7 @@ const Root = styled.div`
   font-size: ${th('fontSizeBaseSmall')};
   height: calc(${th('subGridUnit')} * 5);
   justify-content: center;
+  min-width: 200px;
   padding: 0 calc(${th('subGridUnit')} * 2);
   text-transform: uppercase;
 `
diff --git a/packages/components-faraday/src/redux/users.js b/packages/components-faraday/src/redux/users.js
new file mode 100644
index 0000000000000000000000000000000000000000..dd9cd57ab2db907fbbeb5bd31a46a90afb859c06
--- /dev/null
+++ b/packages/components-faraday/src/redux/users.js
@@ -0,0 +1,4 @@
+import { get } from 'lodash'
+
+export const currentUserIs = (state, role) =>
+  get(state, `currentUser.user.${role}`)