diff --git a/models/scop_instance.py b/models/scop_instance.py
index 5340e06cd67f53aef83d471847f3d6b06859991a..6e50fabfcf77e842255a579106b67bf1ec9b2e97 100644
--- a/models/scop_instance.py
+++ b/models/scop_instance.py
@@ -81,6 +81,7 @@ class ScopInstance(models.Model):
         # We use LM instead of res_partner to get more info ...
         # ... fields of res_partner are on LM (delegate = true)
         lm_ids = list()
+        # TODO: remove LM
         for partner in partners:
             lm_partner = partner.get_lm_adhesion()
             lm_ids.append(lm_partner.id)
diff --git a/models/scop_instance_partner.py b/models/scop_instance_partner.py
index c78715f3f5e43071997390ecca2a1a912e2b3b4c..4efcbb05fa82e3fb5f608280d900d041807779c1 100644
--- a/models/scop_instance_partner.py
+++ b/models/scop_instance_partner.py
@@ -85,13 +85,11 @@ class ScopInstancePartner(models.Model):
     def _compute_amount_adhesion(self):
         for r in self:
             if r.state == "positive":
-                lm = (
-                    r.partner_id.lm_adhesion_id
-                    if r.partner_id.lm_adhesion_id
-                    else r.partner_id.get_lm_adhesion(r.instance_id.date.year)
-                )
-                effectif = lm.eff_tt
-                r.amount_adhesion = r.partner_id.get_theorical_amount_adhesion(effectif)
+                staff_line = r.partner_id.staff_ids.filtered(
+                    lambda s: s.type_entry == "membership"
+                ).sorted(key="effective_date", reverse=True)
+                staff_number = staff_line[0].staff_count if staff_line else 0
+                r.amount_adhesion = r.partner_id.get_theorical_amount_adhesion(staff_number)
             else:
                 r.amount_adhesion = 0