diff --git a/app/comp/moy_mod.py b/app/comp/moy_mod.py
index f30f04912..2ec6c35f2 100644
--- a/app/comp/moy_mod.py
+++ b/app/comp/moy_mod.py
@@ -359,6 +359,10 @@ def load_evaluations_poids(moduleimpl_id: int) -> tuple[pd.DataFrame, list]:
     Les valeurs manquantes (évaluations sans coef vers des UE) sont
     remplies: 1 si le coef de ce module dans l'UE est non nul, zéro sinon
     (sauf pour module bonus, defaut à 1)
+
+    Si le module n'est pas une ressource ou une SAE, ne charge pas de poids
+    et renvoie toujours les poids par défaut.
+
     Résultat: (evals_poids, liste de UEs du semestre sauf le sport)
     """
     modimpl: ModuleImpl = ModuleImpl.query.get(moduleimpl_id)
@@ -367,13 +371,17 @@ def load_evaluations_poids(moduleimpl_id: int) -> tuple[pd.DataFrame, list]:
     ue_ids = [ue.id for ue in ues]
     evaluation_ids = [evaluation.id for evaluation in evaluations]
     evals_poids = pd.DataFrame(columns=ue_ids, index=evaluation_ids, dtype=float)
-    for ue_poids in EvaluationUEPoids.query.join(
-        EvaluationUEPoids.evaluation
-    ).filter_by(moduleimpl_id=moduleimpl_id):
-        try:
-            evals_poids[ue_poids.ue_id][ue_poids.evaluation_id] = ue_poids.poids
-        except KeyError as exc:
-            pass  # poids vers des UE qui n'existent plus ou sont dans un autre semestre...
+    if (
+        modimpl.module.module_type == ModuleType.RESSOURCE
+        or modimpl.module.module_type == ModuleType.SAE
+    ):
+        for ue_poids in EvaluationUEPoids.query.join(
+            EvaluationUEPoids.evaluation
+        ).filter_by(moduleimpl_id=moduleimpl_id):
+            try:
+                evals_poids[ue_poids.ue_id][ue_poids.evaluation_id] = ue_poids.poids
+            except KeyError as exc:
+                pass  # poids vers des UE qui n'existent plus ou sont dans un autre semestre...
 
     # Initialise poids non enregistrés:
     default_poids = (