diff --git a/src/param/param-values.ts b/src/param/param-values.ts
index 651c3dcd048bd0bd534f9dc21e7a9304d35a0c47..f30e70d5b2b9ae6e0dcfdb62f57e96ff3459fe00 100644
--- a/src/param/param-values.ts
+++ b/src/param/param-values.ts
@@ -329,7 +329,17 @@ export class ParamValues implements INubReference, IterableValues {
     }
 
     public get hasMultipleValues(): boolean {
-        const it = this.isReferenceDefined ? this.referencedValuesIterator : this.getValuesIterator();
+        if (this.isReferenceDefined)
+            var it = this.referencedValuesIterator;
+        else {
+            // dans certains cas (mode LINK mais aucune valeur liable compatible), on ne peut avoir d'itérateur
+            if (this._valueMode !== ParamValueMode.LINK)
+                it = this.getValuesIterator();
+        }
+
+        if (it === undefined)
+            return false;
+
         let n = 0;
         for (const v of it) {
             n++;