diff --git a/packages/component-faraday-selectors/src/index.js b/packages/component-faraday-selectors/src/index.js
index 868a670bd4a2db39005389eb4a5319fd7d06e828..1493dcaf07f232dc17d2ec03e4ea9e9090719b44 100644
--- a/packages/component-faraday-selectors/src/index.js
+++ b/packages/component-faraday-selectors/src/index.js
@@ -96,6 +96,7 @@ const authorAndReviewersCanViewReportsDetailsStatuses = [
   'rejected',
   'accepted',
   'reviewCompleted',
+  'reviewersInvited',
   'inQa',
 ]
 
@@ -166,6 +167,7 @@ const canReviewerViewEditorialCommentsStatuses = [
   'reviewCompleted',
   'pendingApproval',
   'revisionRequested',
+  'reviewersInvited',
 ]
 export const canReviewerViewEditorialComments = (
   state,
@@ -554,11 +556,12 @@ export const getVersionOptions = (state, collection = {}) => {
 
 export const canReview = (state, collection = {}, fragment = {}) => {
   const fragmentId = get(fragment, 'id', false)
-
   if (!fragmentId) return false
-
+  const ownRecommendation = getOwnRecommendations(state, fragmentId)
   const isReviewer = currentUserIsReviewer(state, fragmentId)
   if (!isReviewer) return false
-
-  return get(collection, 'status', 'draft') === 'underReview'
+  return (
+    get(collection, 'status', 'draft') === 'underReview' &&
+    ownRecommendation.length === 0
+  )
 }
diff --git a/packages/component-manuscript/src/components/ReviewerReports.js b/packages/component-manuscript/src/components/ReviewerReports.js
index 659d3f2330753045f4cb1100a190e93d5b6307d9..9d838360390efb16be9bb8a837d299b866c55c8a 100644
--- a/packages/component-manuscript/src/components/ReviewerReports.js
+++ b/packages/component-manuscript/src/components/ReviewerReports.js
@@ -64,6 +64,7 @@ export default compose(
       publonReviewers = [],
       reviewerReports = [],
       currentUser,
+      isLatestVersion,
     }) => ({
       token: get(currentUser, 'token', ''),
       publonReviewers,
@@ -71,10 +72,17 @@ export default compose(
         ...i,
         review: reviewerReports.find(r => r.userId === i.userId),
       })),
-      reports: indexReviewers(
-        reviewerReports.filter(r => r.submittedOn),
-        invitations,
-      ),
+      reports: isLatestVersion
+        ? indexReviewers(
+            reviewerReports.filter(
+              r => r.submittedOn && r.userId === currentUser.id,
+            ),
+            invitations,
+          )
+        : indexReviewers(
+            reviewerReports.filter(r => r.submittedOn),
+            invitations,
+          ),
     }),
   ),
 )(ReviewerReports)
diff --git a/packages/component-manuscript/src/submitRevision/utils.js b/packages/component-manuscript/src/submitRevision/utils.js
index bee60515f02ca64d53e90cb8478ebe32de58ea8b..970d5303370d5be965c0c4ad64bae08d7e1ec5d9 100644
--- a/packages/component-manuscript/src/submitRevision/utils.js
+++ b/packages/component-manuscript/src/submitRevision/utils.js
@@ -5,7 +5,7 @@ import { autosaveRequest } from 'pubsweet-component-wizard/src/redux/autosave'
 import { submitRevision } from 'pubsweet-component-wizard/src/redux/conversion'
 
 const parseRevision = (values, fragment) => ({
-  ...fragment,
+  ...omit(fragment, 'recommendations'),
   revision: {
     ...values,
   },