diff --git a/packages/component-invite/src/routes/fragmentsInvitations/post.js b/packages/component-invite/src/routes/fragmentsInvitations/post.js
index 2eab3d2d1642e1aed6f2a9384bbf11b9058fd993..4442ae74c8b94459864bd373d114056d06dfd09c 100644
--- a/packages/component-invite/src/routes/fragmentsInvitations/post.js
+++ b/packages/component-invite/src/routes/fragmentsInvitations/post.js
@@ -11,6 +11,8 @@ const {
 
 const emailInvitations = require('./emails/invitations')
 
+const { last } = require('lodash')
+
 module.exports = models => async (req, res) => {
   const { email, role } = req.body
 
@@ -40,6 +42,10 @@ module.exports = models => async (req, res) => {
       return res.status(400).json({
         error: `Fragment ${fragmentId} does not match collection ${collectionId}.`,
       })
+    if (last(collection.fragments) !== fragmentId)
+      return res.status(400).json({
+        error: `Fragment ${fragmentId} is an older version.`,
+      })
     fragment = await models.Fragment.find(fragmentId)
   } catch (e) {
     const notFoundError = await services.handleNotFoundError(e, 'item')