diff --git a/packages/component-helper-service/src/services/Collection.js b/packages/component-helper-service/src/services/Collection.js
index abebaf42a7be4ab0371332fc20d7a138ae42aec5..2fe5502233953fffec4f7f4bc91d07780cd612df 100644
--- a/packages/component-helper-service/src/services/Collection.js
+++ b/packages/component-helper-service/src/services/Collection.js
@@ -140,6 +140,14 @@ class Collection {
       return fragmentHelper.hasReviewReport()
     }
   }
+
+  async getAllFragments({ FragmentModel }) {
+    return Promise.all(
+      this.collection.fragments.map(async fragment =>
+        FragmentModel.find(fragment),
+      ),
+    )
+  }
 }
 
 module.exports = Collection
diff --git a/packages/component-manuscript-manager/src/routes/fragments/patch.js b/packages/component-manuscript-manager/src/routes/fragments/patch.js
index 9b42e199faca42cfef7921821fafdaa7d707b7b3..acd037254ddb9ada6417d99980a2a30588799d08 100644
--- a/packages/component-manuscript-manager/src/routes/fragments/patch.js
+++ b/packages/component-manuscript-manager/src/routes/fragments/patch.js
@@ -103,8 +103,13 @@ module.exports = models => async (req, res) => {
       await authorsTeam.save()
     }
 
+    const fragments = await collectionHelper.getAllFragments({
+      FragmentModel: models.Fragment,
+    })
+
     await collectionHelper.updateStatusByRecommendation({
       recommendation: heRecommendation.recommendation,
+      fragments,
     })
 
     newFragment.submitted = Date.now()
diff --git a/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/post.js b/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/post.js
index 68ac1a9ada44f9046590f4c2f5cbd36d3ffcb0c9..f546274ae546d905fe925babdd17189a4167d10b 100644
--- a/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/post.js
+++ b/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/post.js
@@ -1,6 +1,5 @@
-/* eslint-disable no-return-await */
 const uuid = require('uuid')
-const { pick, get, set, has, isEmpty, last, findLast } = require('lodash')
+const { pick, get, set, has, isEmpty, last } = require('lodash')
 const config = require('config')
 const { v4 } = require('uuid')
 const logger = require('@pubsweet/logger')
@@ -45,11 +44,9 @@ module.exports = models => async (req, res) => {
   const collectionHelper = new Collection({ collection })
 
   try {
-    fragments = await Promise.all(
-      collection.fragments.map(
-        async fragment => await models.Fragment.find(fragment),
-      ),
-    )
+    fragments = await collectionHelper.getAllFragments({
+      FragmentModel: models.Fragment,
+    })
   } catch (e) {
     const notFoundError = await services.handleNotFoundError(e, 'Item')
     fragments = []