diff --git a/packages/component-manuscript-manager/src/routes/fragments/post.js b/packages/component-manuscript-manager/src/routes/fragments/post.js
index d0b5b18f6d4592f681bcd14298c8cedd5c194c0d..b54399b0cc006f469863bbfabaaecb0c8bab3150 100644
--- a/packages/component-manuscript-manager/src/routes/fragments/post.js
+++ b/packages/component-manuscript-manager/src/routes/fragments/post.js
@@ -48,6 +48,9 @@ module.exports = models => async (req, res) => {
     })
     email.setupManuscriptSubmittedEmail()
 
+    collection.status = 'submitted'
+    collection.save()
+
     return res.status(200).json(fragment)
   } catch (e) {
     const notFoundError = await services.handleNotFoundError(e, 'Item')
diff --git a/packages/component-wizard/src/components/WizardFormStep.js b/packages/component-wizard/src/components/WizardFormStep.js
index 5579434a313269425ecd33382e621faf1ea44dd1..c4caa8b12f1bb533d416e01c1d2c716ed6908d0f 100644
--- a/packages/component-wizard/src/components/WizardFormStep.js
+++ b/packages/component-wizard/src/components/WizardFormStep.js
@@ -7,7 +7,11 @@ import { reduxForm, formValueSelector, SubmissionError } from 'redux-form'
 
 import WizardStep from './WizardStep'
 import { autosaveRequest } from '../redux/autosave'
-import { submitRevision, isRevisionFlow } from '../redux/conversion'
+import {
+  submitRevision,
+  isRevisionFlow,
+  submitManuscript as submitNewManuscript,
+} from '../redux/conversion'
 
 const wizardSelector = formValueSelector('wizard')
 
@@ -38,21 +42,7 @@ const submitManuscript = ({
   dispatch,
   redirectPath = '/',
 }) => {
-  dispatch(
-    actions.updateFragment(project, {
-      id: version.id,
-      submitted: new Date(),
-      ...values,
-    }),
-  )
-    .then(() =>
-      dispatch(
-        actions.updateCollection({
-          id: project.id,
-          status: 'submitted',
-        }),
-      ),
-    )
+  submitNewManuscript(project.id, version.id)
     .then(() => {
       history.push(redirectPath, {
         project: project.id,
diff --git a/packages/component-wizard/src/redux/conversion.js b/packages/component-wizard/src/redux/conversion.js
index 500ffb0c07bdfdc15595bb863cba2a6f9c56b3db..a7d861b8e023658d50cd84b2c90d65503598eac3 100644
--- a/packages/component-wizard/src/redux/conversion.js
+++ b/packages/component-wizard/src/redux/conversion.js
@@ -75,6 +75,9 @@ export const createDraftSubmission = history => (dispatch, getState) => {
   })
 }
 
+export const submitManuscript = (collectionId, fragmentId) =>
+  create(`/collections/${collectionId}/fragments/${fragmentId}/submit`)
+
 export const createRevision = (
   collection,
   previousVersion,
diff --git a/packages/components-faraday/src/components/Filters/priorityFilter.js b/packages/components-faraday/src/components/Filters/priorityFilter.js
index 80367b1cea61a920bea6856c4693d038b4400463..47ffbc88cb6193ba43299838d7474ff58d6337bc 100644
--- a/packages/components-faraday/src/components/Filters/priorityFilter.js
+++ b/packages/components-faraday/src/components/Filters/priorityFilter.js
@@ -37,7 +37,10 @@ const filterFn = (filterValue, { currentUser, userPermissions = [] }) => ({
     case FILTER_VALUES.NEEDS_ATTENTION:
       return get(statuses, `${status}.${userRole}.needsAttention`)
     case FILTER_VALUES.IN_PROGRESS:
-      return !get(statuses, `${status}.${userRole}.needsAttention`)
+      return (
+        !archivedStatuses.includes(status) &&
+        !get(statuses, `${status}.${userRole}.needsAttention`)
+      )
     default:
       return true
   }