diff --git a/src/plugins/wp/tests/wp_acsl/oracle/terminates_variant_option.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/terminates_variant_option.0.res.oracle
index ed3edfb084b7e871c8daf6ac6e3c5f33f558faa2..4c0590685f6ac0259c6c3431dea539290a0e904e 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle/terminates_variant_option.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle/terminates_variant_option.0.res.oracle
@@ -2,6 +2,64 @@
 [kernel] Parsing tests/wp_acsl/terminates_variant_option.i (no preprocessing)
 [wp] Running WP plugin...
 [wp] Warning: Missing RTE guards
+------------------------------------------------------------
+  Function f1
+------------------------------------------------------------
+
+Goal Termination-condition (file tests/wp_acsl/terminates_variant_option.i, line 34) in 'f1':
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Preservation of Invariant (file tests/wp_acsl/terminates_variant_option.i, line 37):
+Assume {
+  Type: is_sint32(c1_0) /\ is_sint32(cpt_0) /\ is_sint32(cpt_0 - 1).
+  (* Residual *)
+  When: c1_0 != 0.
+  (* Goal *)
+  When: 0 <= c1_0.
+  (* Invariant *)
+  Have: (cpt_0 <= c1_0) /\ (0 <= cpt_0).
+  (* Else *)
+  Have: 2 <= cpt_0.
+}
+Prove: (0 < cpt_0) /\ (cpt_0 <= (1 + c1_0)).
+
+------------------------------------------------------------
+
+Goal Establishment of Invariant (file tests/wp_acsl/terminates_variant_option.i, line 37):
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Loop assigns (file tests/wp_acsl/terminates_variant_option.i, line 38):
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Decreasing of Loop variant at loop (file tests/wp_acsl/terminates_variant_option.i, line 41):
+Assume {
+  Type: is_sint32(cpt_0).
+  (* Invariant *)
+  Have: (cpt_0 <= 0) /\ (0 <= cpt_0).
+}
+Prove: false.
+
+------------------------------------------------------------
+
+Goal Positivity of Loop variant at loop (file tests/wp_acsl/terminates_variant_option.i, line 41):
+Assume {
+  Type: is_sint32(c1_0) /\ is_sint32(cpt_0) /\ is_sint32(cpt_0 - 1).
+  (* Residual *)
+  When: c1_0 != 0.
+  (* Invariant *)
+  Have: ((0 <= c1_0) -> ((cpt_0 <= c1_0) /\ (0 <= cpt_0))).
+  (* Else *)
+  Have: 2 <= cpt_0.
+}
+Prove: 0 <= cpt_0.
+
+------------------------------------------------------------
 ------------------------------------------------------------
   Function fails_decreases
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_acsl/oracle/terminates_variant_option.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/terminates_variant_option.1.res.oracle
index c7b38328fe5eac14f9464431cd25ceb00ca438d8..9b9f856e6c32b605c862c85b4b045c2b2cc5055f 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle/terminates_variant_option.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle/terminates_variant_option.1.res.oracle
@@ -2,6 +2,59 @@
 [kernel] Parsing tests/wp_acsl/terminates_variant_option.i (no preprocessing)
 [wp] Running WP plugin...
 [wp] Warning: Missing RTE guards
+------------------------------------------------------------
+  Function f1
+------------------------------------------------------------
+
+Goal Termination-condition (file tests/wp_acsl/terminates_variant_option.i, line 34) in 'f1':
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Preservation of Invariant (file tests/wp_acsl/terminates_variant_option.i, line 37):
+Assume {
+  Type: is_sint32(c1_0) /\ is_sint32(cpt_0) /\ is_sint32(cpt_0 - 1).
+  (* Residual *)
+  When: c1_0 != 0.
+  (* Goal *)
+  When: 0 <= c1_0.
+  (* Invariant *)
+  Have: (cpt_0 <= c1_0) /\ (0 <= cpt_0).
+  (* Else *)
+  Have: 2 <= cpt_0.
+}
+Prove: (0 < cpt_0) /\ (cpt_0 <= (1 + c1_0)).
+
+------------------------------------------------------------
+
+Goal Establishment of Invariant (file tests/wp_acsl/terminates_variant_option.i, line 37):
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Loop assigns (file tests/wp_acsl/terminates_variant_option.i, line 38):
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Decreasing of Loop variant at loop (file tests/wp_acsl/terminates_variant_option.i, line 41):
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Positivity of Loop variant at loop (file tests/wp_acsl/terminates_variant_option.i, line 41):
+Assume {
+  Type: is_sint32(c1_0) /\ is_sint32(cpt_0) /\ is_sint32(cpt_0 - 1).
+  (* Goal *)
+  When: c1_0 != 0.
+  (* Invariant *)
+  Have: ((0 <= c1_0) -> ((cpt_0 <= c1_0) /\ (0 <= cpt_0))).
+  (* Else *)
+  Have: 2 <= cpt_0.
+}
+Prove: 0 <= cpt_0.
+
+------------------------------------------------------------
 ------------------------------------------------------------
   Function fails_decreases
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_variant_option.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_variant_option.0.res.oracle
index 3d7432f4f67fc282f190f3b5610c3ec8ac27699e..ed6365ffa37860e311bb8a300245d5d65688a91a 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_variant_option.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_variant_option.0.res.oracle
@@ -2,7 +2,7 @@
 [kernel] Parsing tests/wp_acsl/terminates_variant_option.i (no preprocessing)
 [wp] Running WP plugin...
 [wp] Warning: Missing RTE guards
-[wp] 11 goals scheduled
+[wp] 17 goals scheduled
 [wp] [Qed] Goal typed_fails_positive_terminates : Valid
 [wp] [Alt-Ergo] Goal typed_fails_positive_loop_invariant_preserved : Valid
 [wp] [Qed] Goal typed_fails_positive_loop_invariant_established : Valid
@@ -14,11 +14,18 @@
 [wp] [Qed] Goal typed_fails_decreases_loop_assigns : Valid
 [wp] [Alt-Ergo] Goal typed_fails_decreases_loop_variant_decrease : Unsuccess
 [wp] [Qed] Goal typed_fails_decreases_loop_variant_positive : Valid
-[wp] Proved goals:    9 / 11
-  Qed:             8 
-  Alt-Ergo:        1  (unsuccess: 2)
+[wp] [Qed] Goal typed_f1_terminates : Valid
+[wp] [Alt-Ergo] Goal typed_f1_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_f1_loop_invariant_established : Valid
+[wp] [Qed] Goal typed_f1_loop_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_f1_loop_variant_decrease : Unsuccess
+[wp] [Alt-Ergo] Goal typed_f1_loop_variant_positive : Valid
+[wp] Proved goals:   14 / 17
+  Qed:            11 
+  Alt-Ergo:        3  (unsuccess: 3)
 ------------------------------------------------------------
  Functions                 WP     Alt-Ergo  Total   Success
   fails_positive            5        1        7      85.7%
   fails_decreases           3        -        4      75.0%
+  f1                        3        2        6      83.3%
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_variant_option.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_variant_option.1.res.oracle
index 4724528d6f00e649d45b483344914d70d202e06d..c7928a6b12e4e80fecbfddbb7b30107982acf4ce 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_variant_option.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_variant_option.1.res.oracle
@@ -2,7 +2,7 @@
 [kernel] Parsing tests/wp_acsl/terminates_variant_option.i (no preprocessing)
 [wp] Running WP plugin...
 [wp] Warning: Missing RTE guards
-[wp] 11 goals scheduled
+[wp] 17 goals scheduled
 [wp] [Qed] Goal typed_fails_positive_terminates : Valid
 [wp] [Alt-Ergo] Goal typed_fails_positive_loop_invariant_preserved : Valid
 [wp] [Qed] Goal typed_fails_positive_loop_invariant_established : Valid
@@ -14,11 +14,18 @@
 [wp] [Qed] Goal typed_fails_decreases_loop_assigns : Valid
 [wp] [Alt-Ergo] Goal typed_fails_decreases_loop_variant_decrease : Valid
 [wp] [Qed] Goal typed_fails_decreases_loop_variant_positive : Valid
-[wp] Proved goals:   11 / 11
-  Qed:             9 
-  Alt-Ergo:        2
+[wp] [Qed] Goal typed_f1_terminates : Valid
+[wp] [Alt-Ergo] Goal typed_f1_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_f1_loop_invariant_established : Valid
+[wp] [Qed] Goal typed_f1_loop_assigns : Valid
+[wp] [Qed] Goal typed_f1_loop_variant_decrease : Valid
+[wp] [Alt-Ergo] Goal typed_f1_loop_variant_positive : Valid
+[wp] Proved goals:   17 / 17
+  Qed:            13 
+  Alt-Ergo:        4
 ------------------------------------------------------------
  Functions                 WP     Alt-Ergo  Total   Success
   fails_positive            6        1        7       100%
   fails_decreases           3        1        4       100%
+  f1                        4        2        6       100%
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_acsl/terminates_variant_option.i b/src/plugins/wp/tests/wp_acsl/terminates_variant_option.i
index 872b0734b8f7e62c6d071929d08e4f9f0daebfbb..e220801f80ae5eb773a0f45b20722e34e190cbb6 100644
--- a/src/plugins/wp/tests/wp_acsl/terminates_variant_option.i
+++ b/src/plugins/wp/tests/wp_acsl/terminates_variant_option.i
@@ -30,3 +30,18 @@ void fails_decreases(int keep_going){
     if(! keep_going) i-- ;
   }
 }
+
+//@ terminates c1 != 0;
+void f1 (int c1, int c2) {
+  int cpt = c1 ;
+  /*@ loop invariant c1 >= 0 ==> 0 <= cpt <= c1 ;
+    @ loop assigns cpt ;
+    @ loop variant cpt ;
+    @*/
+  while (1) {
+    if (c1 || c2) {
+      cpt --;
+      if (cpt <= 0) break;
+    }
+  }
+}