diff --git a/models/res_partner.py b/models/res_partner.py
index 7c6ad2efea73bf051d141d5a283ae84b44dc6b66..12faa864660fae683de6dbe26b601c574cf14e2a 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -174,33 +174,36 @@ class ScopPartner(models.Model):
             - Pas de LM connue → on créée une LM inscription
         """
         self.ensure_one()
-        last_lm_ids = self.get_last_lm()
-        lm_adhesion = None
 
-        year = fields.Date.today().year if not year else year
-
-        if last_lm_ids:
-            lm_adhesion = last_lm_ids.filtered(
-                lambda lm: lm.year == year)
+        lm_adhesion = self.lm_adhesion_id
 
         if not lm_adhesion:
-            if not last_lm_ids:
-                dossier_type_inscription_id = self.env.ref(
-                    'cgscop_liste_ministere.liste_ministere_type_1').id
-                type_lm = dossier_type_inscription_id
-            else:
-                dossier_type_renouvellement_id = self.env.ref(
-                    'cgscop_liste_ministere.liste_ministere_type_2').id
-                type_lm = dossier_type_renouvellement_id
-            lm_adhesion = self.env['liste.ministere'].sudo().create({
-                'partner_id': self.id,
-                'year': year,
-                'type_id': type_lm
-            })
-            lm_adhesion.action_publish_without_extranet()
+            last_lm_ids = self.get_last_lm()
+            if last_lm_ids:
+                year = fields.Date.today().year if not year else year
+                lm_adhesion = last_lm_ids.filtered(
+                    lambda lm: lm.year == year)
+
+            if not lm_adhesion:
+                if not last_lm_ids:
+                    dossier_type_inscription_id = self.env.ref(
+                        'cgscop_liste_ministere.liste_ministere_type_1').id
+                    type_lm = dossier_type_inscription_id
+                else:
+                    dossier_type_renouvellement_id = self.env.ref(
+                        'cgscop_liste_ministere.liste_ministere_type_2').id
+                    type_lm = dossier_type_renouvellement_id
+                lm_adhesion = self.env['liste.ministere'].sudo().create({
+                    'partner_id': self.id,
+                    'year': year,
+                    'type_id': type_lm
+                })
+                lm_adhesion.action_publish_without_extranet()
+                self.lm_adhesion_id = lm_adhesion.id
         else:
             if not lm_adhesion.active:
                 lm_adhesion.write({'active': True})
+
         return lm_adhesion
 
     def get_last_lm(self):