diff --git a/packages/component-faraday-ui/src/ReviewerReportAuthor.js b/packages/component-faraday-ui/src/ReviewerReportAuthor.js
index 297653497f8a77be8c9bf20135ca64c7c21a54a4..4df5745b8ce86a109bad547466f3fe5ff57f94de 100644
--- a/packages/component-faraday-ui/src/ReviewerReportAuthor.js
+++ b/packages/component-faraday-ui/src/ReviewerReportAuthor.js
@@ -1,16 +1,24 @@
 import React, { Fragment } from 'react'
 import { get } from 'lodash'
-import { withProps } from 'recompose'
+import { withProps, compose } from 'recompose'
 import styled from 'styled-components'
 import { th } from '@pubsweet/ui-toolkit'
 import { DateParser } from '@pubsweet/ui'
 
-import { Label, Item, FileItem, Row, Text } from './'
+import {
+  Label,
+  Item,
+  FileItem,
+  Row,
+  Text,
+  withFilePreview,
+  withFileDownload,
+} from './'
 
 const ReviewerReportAuthor = ({
-  onPreview,
-  onDownload,
   reviewFile,
+  previewFile,
+  downloadFile,
   publicReport,
   reviewerName,
   reviewerIndex,
@@ -45,8 +53,8 @@ const ReviewerReportAuthor = ({
           <Item flex={0} mr={1}>
             <FileItem
               item={reviewFile}
-              onDownload={onDownload}
-              onPreview={onPreview}
+              onDownload={downloadFile}
+              onPreview={previewFile}
             />
           </Item>
         </Row>
@@ -55,20 +63,24 @@ const ReviewerReportAuthor = ({
   </Root>
 )
 
-export default withProps(({ report, journal: { recommendations = [] } }) => ({
-  recommendation: get(
-    recommendations.find(r => r.value === report.recommendation),
-    'label',
-  ),
-  reviewFile: get(report, 'comments.0.files.0'),
-  publicReport: get(report, 'comments.0.content'),
-  reviewerName: `${get(report, 'reviewer.firstName', '')} ${get(
-    report,
-    'reviewer.lastName',
-    '',
-  )}`,
-  reviewerIndex: get(report, 'reviewerIndex', ''),
-}))(ReviewerReportAuthor)
+export default compose(
+  withFilePreview,
+  withFileDownload,
+  withProps(({ report, journal: { recommendations = [] } }) => ({
+    recommendation: get(
+      recommendations.find(r => r.value === report.recommendation),
+      'label',
+    ),
+    reviewFile: get(report, 'comments.0.files.0'),
+    publicReport: get(report, 'comments.0.content'),
+    reviewerName: `${get(report, 'reviewer.firstName', '')} ${get(
+      report,
+      'reviewer.lastName',
+      '',
+    )}`,
+    reviewerIndex: get(report, 'reviewerIndex', ''),
+  })),
+)(ReviewerReportAuthor)
 
 // #region styles
 const Root = styled.div`
diff --git a/packages/component-faraday-ui/src/contextualBoxes/AuthorReviews.js b/packages/component-faraday-ui/src/contextualBoxes/AuthorReviews.js
index 105b76fc04c6a4046c794398157ee770135ad538..5518b3ebfa9c3803816c871f4f8b32b717c468d3 100644
--- a/packages/component-faraday-ui/src/contextualBoxes/AuthorReviews.js
+++ b/packages/component-faraday-ui/src/contextualBoxes/AuthorReviews.js
@@ -15,7 +15,14 @@ const SubmittedReportsNumberForAuthorReviews = ({ reports }) => (
   </Row>
 )
 
-const AuthorReviews = ({ invitations, journal, reports, fragment }) =>
+const AuthorReviews = ({
+  invitations,
+  journal,
+  reports,
+  fragment,
+  token,
+  getSignedUrl,
+}) =>
   reports.length > 0 && (
     <ContextualBox
       label="Reviewer Reports"
@@ -24,11 +31,13 @@ const AuthorReviews = ({ invitations, journal, reports, fragment }) =>
         <SubmittedReportsNumberForAuthorReviews reports={reports.length} />
       }
     >
-      {reports.map((r, i) => (
+      {reports.map(r => (
         <ReviewerReportAuthor
+          getSignedUrl={getSignedUrl}
           journal={journal}
           key={r.id}
-          report={reports[i]}
+          report={r}
+          token={token}
         />
       ))}
     </ContextualBox>
diff --git a/packages/component-manuscript/src/components/ManuscriptLayout.js b/packages/component-manuscript/src/components/ManuscriptLayout.js
index 601124c7d11840795ffb37710f2df33f16f3c6cf..bf88f0978ba1a48ab8363ace469879602c620c74 100644
--- a/packages/component-manuscript/src/components/ManuscriptLayout.js
+++ b/packages/component-manuscript/src/components/ManuscriptLayout.js
@@ -114,8 +114,10 @@ const ManuscriptLayout = ({
         {get(currentUser, 'permissions.authorCanViewReportsDetails', false) && (
           <AuthorReviews
             currentUser={currentUser}
+            getSignedUrl={getSignedUrl}
             journal={journal}
             reports={reviewerReports}
+            token={get(currentUser, 'token')}
           />
         )}
 
@@ -195,6 +197,7 @@ const ManuscriptLayout = ({
             reviewerReports={reviewerReports}
             scrollIntoView
             toggle={toggleReviewerDetails}
+            token={get(currentUser, 'token')}
             {...inviteReviewer}
           />
         )}
diff --git a/packages/component-manuscript/src/submitRevision/withSubmitRevision.js b/packages/component-manuscript/src/submitRevision/withSubmitRevision.js
index 756551f82f57ab162c74915c3e47fca32701c4c5..57b8a4297065dd2efe876241e83e886a2b0eebbe 100644
--- a/packages/component-manuscript/src/submitRevision/withSubmitRevision.js
+++ b/packages/component-manuscript/src/submitRevision/withSubmitRevision.js
@@ -97,7 +97,7 @@ export default compose(
     },
     deleteResponseFile: ({ setError, changeForm, setFetching }) => file => {
       setFetching(true)
-      return deleteFile(file.id, 'responseToReviewers')
+      return deleteFile({ fileId: file.id }, 'responseToReviewers')
         .then(r => {
           setFetching(false)
           changeForm('revision', 'responseToReviewers.file', null)