diff --git a/packages/component-invite/src/routes/fragmentsInvitations/decline.js b/packages/component-invite/src/routes/fragmentsInvitations/decline.js
index 6d661344665ccd70f199eb3b7b024dd46010c033..8d7e5d97541e08dc4a9ae912867ce58a8e61df4e 100644
--- a/packages/component-invite/src/routes/fragmentsInvitations/decline.js
+++ b/packages/component-invite/src/routes/fragmentsInvitations/decline.js
@@ -1,4 +1,5 @@
 const {
+  Team,
   services,
   Invitation,
   authsome: authsomeHelper,
@@ -73,6 +74,25 @@ module.exports = models => async (req, res) => {
 
   const baseUrl = services.getBaseUrl(req)
 
+  const teamHelper = new Team({
+    fragmentId,
+    collectionId,
+    TeamModel: models.Team,
+  })
+
+  const reviewerTeam = await teamHelper.getTeam({
+    role: 'reviewer',
+    objectType: 'fragment',
+  })
+
+  await teamHelper.removeTeamMember({
+    teamId: reviewerTeam.id,
+    userId: user.id,
+  })
+
+  user.teams = user.teams.filter(userTeamId => reviewerTeam.id !== userTeamId)
+  await user.save()
+
   notifications.sendNotifications({
     baseUrl,
     fragment,
diff --git a/packages/component-invite/src/routes/fragmentsInvitations/patch.js b/packages/component-invite/src/routes/fragmentsInvitations/patch.js
index b6bda8da6ee35e84b28b992cee9c86b6102ce3d2..20d059bcb68b96842426a1f6a71c246c98238c5c 100644
--- a/packages/component-invite/src/routes/fragmentsInvitations/patch.js
+++ b/packages/component-invite/src/routes/fragmentsInvitations/patch.js
@@ -1,4 +1,5 @@
 const {
+  Team,
   services,
   Collection,
   Invitation,
@@ -61,10 +62,32 @@ module.exports = models => async (req, res) => {
       fragment.save()
     } else {
       if (reason) invitation.reason = reason
+
       await fragment.save()
       collectionHelper.updateStatusByNumberOfReviewers({
         invitations: fragment.invitations,
       })
+
+      const teamHelper = new Team({
+        fragmentId,
+        collectionId,
+        TeamModel: models.Team,
+      })
+
+      const reviewerTeam = await teamHelper.getTeam({
+        role: 'reviewer',
+        objectType: 'fragment',
+      })
+
+      await teamHelper.removeTeamMember({
+        teamId: reviewerTeam.id,
+        userId: user.id,
+      })
+
+      user.teams = user.teams.filter(
+        userTeamId => reviewerTeam.id !== userTeamId,
+      )
+      await user.save()
     }
 
     notifications.sendNotifications({
diff --git a/packages/component-invite/src/tests/fragmentsInvitations/patch.test.js b/packages/component-invite/src/tests/fragmentsInvitations/patch.test.js
index 8ce62849aeaf74fe31749028fa9cccf1834e6fff..15d6f7a45edb01cde39e137b57121fd8520a5168 100644
--- a/packages/component-invite/src/tests/fragmentsInvitations/patch.test.js
+++ b/packages/component-invite/src/tests/fragmentsInvitations/patch.test.js
@@ -62,6 +62,7 @@ describe('Patch fragments invitations route handler', () => {
     await require(patchPath)(models)(req, res)
 
     expect(res.statusCode).toBe(200)
+    expect(reviewer.teams).toHaveLength(0)
   })
   it('should return an error if the collection does not exist', async () => {
     const { handlingEditor } = testFixtures.users