diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts
index 182ed6f68b91106dcc7df37da2ea78f98abec8f5..a6909ac0be9050cb2c0c9a1c6d28adc84d062b5b 100644
--- a/src/app/components/fixedvar-results/fixed-results.component.ts
+++ b/src/app/components/fixedvar-results/fixed-results.component.ts
@@ -84,6 +84,7 @@ export class FixedResultsComponent {
         const res = this._fixedResults.result;
         if (
             res
+            && res.nbResultElements > 0
             && res.resultElement
             && res.extraResults
         ) {
diff --git a/src/app/components/ngparam-input/ngparam-input.component.ts b/src/app/components/ngparam-input/ngparam-input.component.ts
index 2717729d82fb4eb87e2ba8d810d656c9da122167..c61a4fb783066a8ed61a1fb802ec294296a8c0b9 100644
--- a/src/app/components/ngparam-input/ngparam-input.component.ts
+++ b/src/app/components/ngparam-input/ngparam-input.component.ts
@@ -47,9 +47,7 @@ export class NgParamInputComponent extends GenericInputComponent implements Obse
      */
     protected afterSetModel() {
         if (this._paramDef) {
-            if (this._paramDef.isDefined) {
-                this._tmp = this._paramDef.getValue();
-            }
+            this._tmp = this._paramDef.getValue();
             this._paramDef.addObserver(this);
         }
     }
diff --git a/src/app/components/param-field-line/param-field-line.component.ts b/src/app/components/param-field-line/param-field-line.component.ts
index 8aae7a7c7ba8ccadc1d187812036d7c789e2622d..df956b33acfe059a408a8e6e82390cdb246adfa1 100644
--- a/src/app/components/param-field-line/param-field-line.component.ts
+++ b/src/app/components/param-field-line/param-field-line.component.ts
@@ -208,9 +208,6 @@ export class ParamFieldLineComponent implements OnChanges {
         switch (option) {
             case "fix":
                 this.param.valueMode = ParamValueMode.SINGLE;
-                // reset the value to avoid "undefined" after exiting CALC or LINK mode
-                // @TODO not always necessary; find out why
-                this.param.setValue(this, this.param.paramDefinition.singleValue);
                 break;
 
             case "var":
diff --git a/src/app/formulaire/definition/form-compute.ts b/src/app/formulaire/definition/form-compute.ts
index 64dd7055529cc02b48c282517b2c22bf2517e06b..af5c587cda210a94a857ce12f2dc14e3888614c2 100644
--- a/src/app/formulaire/definition/form-compute.ts
+++ b/src/app/formulaire/definition/form-compute.ts
@@ -43,9 +43,8 @@ export abstract class FormCompute implements Observer {
             computedParam = nub.calculatedParam;
         }
 
-        // require chain computation; redundant with Nub.CalcSerie but required
-        // to get initial value here...
-        const computedParamValue = computedParam.getValue();
+        // const computedParamValue = computedParam.getValue();
+        const computedParamValue = computedParam.singleValue;
 
         switch (computedParam.domain.domain) {
             case ParamDomainValue.ANY:
diff --git a/src/app/formulaire/ngparam.ts b/src/app/formulaire/ngparam.ts
index 5681b58cdd074bc59d432db93c730e70f5cf4b7b..294bbc53f05d4bf8deffbb329f817427ea89190d 100644
--- a/src/app/formulaire/ngparam.ts
+++ b/src/app/formulaire/ngparam.ts
@@ -266,11 +266,16 @@ export class NgParameter extends InputField implements Observer {
     }
 
     /**
-     * Asks the ParamDefinition for its current value
-     * @TODO replace with singleValue to avoid displaying computation results ?
+     * Asks the ParamDefinition for its singleValue (not currentValue,
+     * to avoid displaying computation results); calculated linked
+     * value might not be available yet
      */
     public getValue() {
-        return this._paramDef.getValue();
+        try {
+            return this._paramDef.getValue();
+        } catch (error) {
+            return undefined;
+        }
     }
 
     /**