diff --git a/src/param/param-base.ts b/src/param/param-base.ts
index 3db958449545d2bad7d2be72fbdd4713948c60b5..b9919ce449e5923a8d8a63e298579b7f1a1ca83c 100644
--- a/src/param/param-base.ts
+++ b/src/param/param-base.ts
@@ -310,6 +310,10 @@ export class BaseParam extends JalhydObject implements INubReference, NamedItera
         }
     }
 
+    public undefineReference() {
+        this._paramValues.undefineReference();
+    }
+
     public get referenceDefinition(): string {
         return this._paramValues.referenceDefinition;
     }
diff --git a/src/param/param-values.ts b/src/param/param-values.ts
index c6a3fead0f6b984c79baea606a0787a6a1d8051d..2317d3a99ccf0e65cfcf624cc3dbb40b7d591583 100644
--- a/src/param/param-values.ts
+++ b/src/param/param-values.ts
@@ -285,6 +285,10 @@ export class ParamValues implements INubReference, IterableValues {
         this._nubRef.defineReference(target, desc);
     }
 
+    public undefineReference() {
+        this._nubRef.undefineReference();
+    }
+
     public get referencedNub(): IReferencedNub {
         return this._nubRef.referencedNub;
     }
diff --git a/src/value_ref/object_ref.ts b/src/value_ref/object_ref.ts
index cf392ddf15dabbac204483a741e1ba2a9ae623b3..6f302a7aca47ce7f86650206700c1bea50f93241 100644
--- a/src/value_ref/object_ref.ts
+++ b/src/value_ref/object_ref.ts
@@ -47,6 +47,11 @@ export interface INubReference {
      */
     defineReference(target: IReferencedNub, desc: string): void;
 
+    /**
+     * supprime la référence
+     */
+    undefineReference(): void;
+
     /**
      * description symbolique de la référence
      */
@@ -96,6 +101,14 @@ export class NubReference implements INubReference {
         this._refDefinition = desc;
     }
 
+    /**
+     * supprime la référence
+     */
+    public undefineReference() {
+        this._referencedNub = undefined;
+        this._refDefinition = undefined;
+    }
+
     /**
      * description symbolique de la référence
      */