diff --git a/packages/component-invite/src/routes/collectionsInvitations/post.js b/packages/component-invite/src/routes/collectionsInvitations/post.js
index 0ebecc69a78897bb57e391319335dcfe334935dc..d00b18ab58471780fa1add24ab3273ff63b85887 100644
--- a/packages/component-invite/src/routes/collectionsInvitations/post.js
+++ b/packages/component-invite/src/routes/collectionsInvitations/post.js
@@ -46,7 +46,7 @@ module.exports = models => async (req, res) => {
     await teamHelper.setupManuscriptTeam(models, user, collectionId, role)
 
     // find if there already is a matching invitation in the collection
-    await collectionHelper.addInvitation(collection)
+    await collectionHelper.addInvitation(collection, user.id, role)
 
     try {
       await mailService.setupAssignEmail(
diff --git a/packages/component-invite/src/tests/collectionsInvitations/post.test.js b/packages/component-invite/src/tests/collectionsInvitations/post.test.js
index cf7cce909137e8122438840cb7545ae9b4fa5130..cebe37f0a1042154634447f7be619236a2e2d70c 100644
--- a/packages/component-invite/src/tests/collectionsInvitations/post.test.js
+++ b/packages/component-invite/src/tests/collectionsInvitations/post.test.js
@@ -70,6 +70,10 @@ describe('Post collections invitations route handler', () => {
     expect(standardCollection.invitations.length).toBeGreaterThan(initialSize)
     expect(heTeam.members).toContain(author.id)
     expect(author.teams).toContain(heTeam.id)
+    const matchingInvitation = standardCollection.invitations.find(
+      inv => inv.userId === author.id && inv.role === body.role,
+    )
+    expect(matchingInvitation).toBeDefined()
   })
   it('should return an error when inviting his self', async () => {
     body.role = roles[random(0, roles.length - 1)]