diff --git a/spec/remous_rect_trapezes_pentefaible.spec.ts b/spec/remous_rect_trapezes_pentefaible.spec.ts
index 10c56dbe511c519513292feea26ab686a382ccf4..a8c9c1fdf8f6107f48373deb569c49cd90fcfd0e 100644
--- a/spec/remous_rect_trapezes_pentefaible.spec.ts
+++ b/spec/remous_rect_trapezes_pentefaible.spec.ts
@@ -378,4 +378,64 @@ describe('Class Remous / section rectangulaire :', () => {
 
         compareLog(rem.log, expLog);
     });
+
+    it("faible pente, pas de fluvial, torrentiel tronqué, calcul Hs", () => {
+        let prms = new ParamsSectionRectang(undefined, // tirant d'eau
+            2.5, // largeur de fond
+            40, //  Ks=Strickler
+            2, // Q=Débit
+            0.001, // If=pente du fond
+            precDist, // précision
+            1 // YB=hauteur de berge
+        );
+
+        let sect = new cSnRectang(prms);
+
+        let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
+            0.4, // Yaval = tirant aval
+            100,  // Long= Longueur du bief
+            5,  // Dx=Pas d'espace
+            MethodeResolution.Trapezes
+        );
+
+        let rem = new CourbeRemous(prem);
+
+        let res = rem.calculRemous("Hs");
+
+        // données de validation : version PHP (Oct 2017) méthode trapèzes
+
+        expect(Object.keys(res["flu"]).length == 0).toBeTruthy("la ligne d'eau fluviale ne devrait comporter aucune valeur");
+
+        let t = { 0.000: 0.15, 5.000: 0.239, 10.000: 0.34 };
+        compareObject("Ytorrentiel", res["tor"], t, 0.008);
+
+        let x = [0.000, 5.000, 10.000];
+        compareArray("abscisses", res["trX"], x);
+
+        let extraHS = { 0.000: 1.6, 5.000: 0.808, 10.000: 0.618 };
+        compareObject("extra (Hs)", res["tRes"], extraHS, 0.001);
+
+        let expLog = new cLog();
+        let m = new Message(MessageCode.ERROR_REMOUS_LARGEUR_BERGE);
+        m.extraVar["B"] = 2.5;
+        expLog.add(m);
+
+        m = new Message(MessageCode.ERROR_REMOUS_H_CRITIQUE);
+        m.extraVar["Yc"] = 0.403;
+        expLog.add(m);
+
+        m = new Message(MessageCode.ERROR_REMOUS_H_NORMALE);
+        m.extraVar["Yn"] = 0.953;
+        expLog.add(m);
+
+        expLog.add(new Message(MessageCode.ERROR_REMOUS_PAS_CALCUL_DEPUIS_AVAL));
+
+        expLog.add(new Message(MessageCode.ERROR_REMOUS_CALCUL_TORRENTIEL));
+
+        m = new Message(MessageCode.ERROR_REMOUS_ARRET_CRITIQUE);
+        m.extraVar["x"] = 15;
+        expLog.add(m);
+
+        compareLog(rem.log, expLog);
+    });
 });
diff --git a/src/remous.ts b/src/remous.ts
index 3df80f2727b25f2d226e9d153f6cf0aeeff36252..de53b50c3ae6f628318517db10e83a2ff18a359e 100644
--- a/src/remous.ts
+++ b/src/remous.ts
@@ -664,7 +664,7 @@ export class CourbeRemous extends Nub {
 		// Calcul de la variable à calculer
 
 		let tRes: { [key: number]: number } = {};
-		if (val_a_cal != undefined && nFlu != 0 && nTor != 0) {
+		if (val_a_cal != undefined && (nFlu != 0 || nTor != 0)) {
 			for (let rX of trX) {
 				let rY = undefined;
 				let hasFlu: boolean = crbFlu[+rX] != undefined;