diff --git a/src/pab/pab.ts b/src/pab/pab.ts
index f56c53112d64031583f612effe9caf4d446b8887..c94d982605844100d574efe97f13d0e0933c2979 100644
--- a/src/pab/pab.ts
+++ b/src/pab/pab.ts
@@ -36,8 +36,17 @@ export class Pab extends Nub {
         return this._children as PabCloisons[];
     }
 
+    public Calc(sVarCalc?: string, rInit?: number): Result  {
+        // Update array of PabCloisons with last Models current values
+        for (const cl of this.children) {
+            cl.prms.setCurrentValuesFromModel();
+        }
+        return super.Calc(sVarCalc, rInit);
+    }
+
     /**
      * Calcul analytique
+     * @warning Should be called by this.Calc only for parameter initialisations
      * @param sVarCalc Variable à calculer (Z1 uniquement)
      */
     public Equation(sVarCalc: string): Result {
diff --git a/src/pab/pab_cloisons.ts b/src/pab/pab_cloisons.ts
index d37d473e68f003250c4b42394b5c31d06d176ecd..2e675cd04b637f6779d20448e7a53556a4c0eaf1 100644
--- a/src/pab/pab_cloisons.ts
+++ b/src/pab/pab_cloisons.ts
@@ -7,8 +7,11 @@ import { Pab } from "./pab";
 
 class PabCloisonsParams extends CloisonsParams {
 
-   /** Débit d'attrait d'un bassin (m3/s) */
-   public _QA: ParamDefinition;
+    /** Débit d'attrait d'un bassin (m3/s) */
+    public _QA: ParamDefinition;
+
+    /** Model of cloison on which this pabCloison is based */
+    private _modelCloisonsParams: CloisonsParams;
 
     /**
      * Paramètres communs à toutes les équations de structure
@@ -21,10 +24,7 @@ class PabCloisonsParams extends CloisonsParams {
      */
     constructor(modelCloisonsParams?: CloisonsParams, rQA: number = 0) {
         super(1, 1, 1, 1, 1, 1); // overwritten by init() below
-        this.init(modelCloisonsParams);
-
-        // On garde Pr en propre sur cet objet (Pointage impossible car en lecture seule)
-        this.addParamDefinition(this.Pr, true);
+        this.modelCloisonsParams = modelCloisonsParams;
 
         // Débit d'attrait
         this._QA = new ParamDefinition(this, "QA", ParamDomainValue.POS_NULL, rQA, ParamFamily.FLOWS);
@@ -35,17 +35,22 @@ class PabCloisonsParams extends CloisonsParams {
         return this._QA;
     }
 
-    public init(modelCloisonsParams: CloisonsParams) {
-        // might be undefined when created by a Session
-        if (modelCloisonsParams) {
-            this.Q = modelCloisonsParams.Q;
-            this.Z1 = modelCloisonsParams.Z1;
-            this.LB = modelCloisonsParams.LB;
-            this.BB = modelCloisonsParams.BB;
-            this.PB = modelCloisonsParams.PB;
-            this.DH = modelCloisonsParams.DH;
-            // Force la MAJ de la map avec les propriétés pointant vers celles de CloisonsParam
-            this.addParamDefinitions(modelCloisonsParams);
+    /**
+     * Record pointer to the cloison model for future updating of local parameters
+     */
+    set modelCloisonsParams(modelCloisonsParams: CloisonsParams) {
+        this._modelCloisonsParams = modelCloisonsParams;
+    }
+
+    /**
+     * Update Current values and sandobx values of parameter from cloison model
+     */
+    public setCurrentValuesFromModel() {
+        if (this._modelCloisonsParams !== undefined) {
+            for (const p of this._modelCloisonsParams) {
+                this._paramMap[p.symbol].currentValue = p.currentValue;
+                this._paramMap[p.symbol].v = p.currentValue;
+            }
         }
     }
 
@@ -89,10 +94,10 @@ export class PabCloisons extends Cloisons {
     }
 
     /**
-     * Sets modelCloisons as the current model, initializing the parameters with it
+     * Sets modelCloisons as the current model (set pointers to parameters and structure array)
      */
     public initModelCloisons(modelCloisons: Cloisons) {
-        this.prms.init(modelCloisons ? modelCloisons.prms : undefined);
+        this.prms.modelCloisonsParams = modelCloisons ? modelCloisons.prms : undefined;
         this._children = modelCloisons ? modelCloisons.structures : [];
     }