diff --git a/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/patch.js b/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/patch.js
index 8283a3b5169ba5a6cb89d8428894ffe2009aacc9..d6cbf32c2be8a18e7ecac27e2770674bfbf047e5 100644
--- a/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/patch.js
+++ b/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/patch.js
@@ -45,7 +45,8 @@ module.exports = models => async (req, res) => {
         user,
         mailService,
       })
-      await collectionHelper.updateStatus(collection, 'reviewCompleted')
+      if (collection.status !== 'pendingApproval')
+        await collectionHelper.updateStatus(collection, 'reviewCompleted')
     }
     await fragment.save()
     return res.status(200).json(recommendation)
diff --git a/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/post.js b/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/post.js
index ae58184781d567011673e31d45652af0db220b7f..745c254c9c9c97888bc225563016543a56dfd0e9 100644
--- a/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/post.js
+++ b/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/post.js
@@ -50,7 +50,10 @@ module.exports = models => async (req, res) => {
 
   newRecommendation.recommendation = recommendation || undefined
   newRecommendation.comments = comments || undefined
-  if (recommendation === 'reject')
+  if (
+    ['reject', 'publish'].includes(recommendation) &&
+    recommendationType === 'editorRecommendation'
+  )
     await collectionHelper.updateStatus(collection, 'pendingApproval')
 
   fragment.recommendations.push(newRecommendation)