diff --git a/packages/component-wizard/src/redux/conversion.js b/packages/component-wizard/src/redux/conversion.js
index a4043ca5dd365aadc19f2f7a9e7908e89a592c6a..c085f1e196ddd80a3cf4449212c088353b6807ad 100644
--- a/packages/component-wizard/src/redux/conversion.js
+++ b/packages/component-wizard/src/redux/conversion.js
@@ -51,7 +51,9 @@ export const createDraftSubmission = history => (dispatch, getState) => {
       actions.createFragment(collection, {
         created: new Date(), // TODO: set on server
         files: {
+          manuscripts: [],
           supplementary: [],
+          coverLetter: [],
         },
         fragmentType: 'version',
         metadata: {},
diff --git a/packages/components-faraday/src/components/Files/Files.js b/packages/components-faraday/src/components/Files/Files.js
index 3bf85519bc16e665a18fdbb36410cab86258a06c..77655bb64d95f313f1eca093e023899b23b9c766 100644
--- a/packages/components-faraday/src/components/Files/Files.js
+++ b/packages/components-faraday/src/components/Files/Files.js
@@ -1,16 +1,16 @@
 import React from 'react'
-import { get } from 'lodash'
 import { th } from '@pubsweet/ui'
 import PropTypes from 'prop-types'
+import { get, isEqual } from 'lodash'
 import { connect } from 'react-redux'
 import styled from 'styled-components'
 import { withRouter } from 'react-router-dom'
+import { selectFragment } from 'xpub-selectors'
 import { change as changeForm } from 'redux-form'
 import {
   compose,
   lifecycle,
   withState,
-  getContext,
   withContext,
   withHandlers,
 } from 'recompose'
@@ -77,11 +77,11 @@ const Files = ({
 
 export default compose(
   withRouter,
-  getContext({ version: PropTypes.object, project: PropTypes.object }),
   connect(
-    state => ({
-      isFetching: getRequestStatus(state),
+    (state, { match }) => ({
       error: getFileError(state),
+      isFetching: getRequestStatus(state),
+      version: selectFragment(state, match.params.version),
     }),
     {
       changeForm,
@@ -103,6 +103,13 @@ export default compose(
         supplementary: get(files, 'supplementary') || [],
       }))
     },
+    componentWillReceiveProps(nextProps) {
+      const { setFiles, version: { files: previousFiles } } = this.props
+      const { version: { files } } = nextProps
+      if (!isEqual(previousFiles, files)) {
+        setFiles(files)
+      }
+    },
   }),
   withHandlers({
     dropSortableFile: ({ files, setFiles, changeForm }) => (
diff --git a/packages/xpub-faraday/app/config/journal/submit-wizard.js b/packages/xpub-faraday/app/config/journal/submit-wizard.js
index 132dd9c2fea621e2fdab4981de3171e6e2468101..1dd84548c68bbf86c623db2e2fa95bb7da29cf92 100644
--- a/packages/xpub-faraday/app/config/journal/submit-wizard.js
+++ b/packages/xpub-faraday/app/config/journal/submit-wizard.js
@@ -174,7 +174,7 @@ export default {
       title: '4. Manuscript Files Upload',
       children: [
         {
-          fieldId: 'file-upload',
+          fieldId: 'files',
           renderComponent: Files,
           validate: [requiredFiles],
         },