diff --git a/spec/pab/pab.spec.ts b/spec/pab/pab.spec.ts
index 77e42a1416c5c92e747f9edb7cb8593950e5742a..c08f561d0d1b896aed828d60aa0cb8c77904d7c4 100644
--- a/spec/pab/pab.spec.ts
+++ b/spec/pab/pab.spec.ts
@@ -6,6 +6,7 @@
  */
 // import { describe, expect, it, xdescribe, xit } from "../mock_jasmine";
 
+import { ParamValueMode, Session } from "../../src/index";
 import { CloisonAval } from "../../src/pab/cloison_aval";
 import { Cloisons, CloisonsParams } from "../../src/pab/cloisons";
 import { Pab, PabParams } from "../../src/pab/pab";
@@ -223,4 +224,45 @@ describe("Class Pab: ", () => {
         });
     });
 
+    fdescribe("calculated parameter should always be Q or Z1 - ", () => {
+        it("try setting Q and Z1 to SINGLE", () => {
+            pab.calculatedParam = pab.prms.Q;
+            pab.prms.Z1.valueMode = ParamValueMode.SINGLE;
+            expect(pab.calculatedParam.symbol).toBe("Q");
+            pab.prms.Q.valueMode = ParamValueMode.SINGLE;
+            expect(pab.calculatedParam.symbol).toBe("Z1");
+        });
+
+        it("try setting Q and Z1 to MINMAX", () => {
+            pab.calculatedParam = pab.prms.Q;
+            pab.prms.Z1.valueMode = ParamValueMode.MINMAX;
+            expect(pab.calculatedParam.symbol).toBe("Q");
+            pab.prms.Q.valueMode = ParamValueMode.MINMAX;
+            expect(pab.calculatedParam.symbol).toBe("Z1");
+        });
+
+        it("try setting Q and Z1 to MINMAX", () => {
+            pab.calculatedParam = pab.prms.Q;
+            pab.prms.Z1.valueMode = ParamValueMode.LISTE;
+            expect(pab.calculatedParam.symbol).toBe("Q");
+            pab.prms.Q.valueMode = ParamValueMode.LISTE;
+            expect(pab.calculatedParam.symbol).toBe("Z1");
+        });
+
+        it("try setting Q and Z1 to LINK", () => {
+            // clone PAB
+            const pab2 = createPabTest();
+            Session.getInstance().clear();
+            Session.getInstance().registerNub(pab);
+            Session.getInstance().registerNub(pab2);
+            // link
+            pab.prms.Z1.defineReference(pab2, "Z1");
+            expect(pab.calculatedParam.symbol).toBe("Q");
+            expect(pab.prms.Z1.valueMode).toBe(ParamValueMode.LINK);
+            pab.prms.Q.defineReference(pab2, "Q");
+            expect(pab.calculatedParam.symbol).toBe("Z1");
+            expect(pab.prms.Q.valueMode).toBe(ParamValueMode.LINK);
+        });
+    });
+
 });
diff --git a/src/nub.ts b/src/nub.ts
index c7226fd0a7672581c6f4b0592b64ba3bc93dca5d..7cd3af949451852c0dc120f3654d63e5e3884898 100644
--- a/src/nub.ts
+++ b/src/nub.ts
@@ -513,7 +513,7 @@ export abstract class Nub extends ComputeNode implements IObservable {
                             )
                             && (p.valueMode === ParamValueMode.CALCUL)
                         ) {
-                            // trick to expose p a a result of the parent Nub
+                            // trick to expose p as a result of the parent Nub
                             res.push(new LinkedValue(this.parent, p, p.symbol));
                         } else {
                             // do not suggest parameters that are already linked to another one