diff --git a/src/plugins/value/domains/octagons.ml b/src/plugins/value/domains/octagons.ml
index e45b1c875de6bb8e1421c9064e1366382cf1982f..e39c64ae86ffb88cc2d4b1e644d77f35b13d9558 100644
--- a/src/plugins/value/domains/octagons.ml
+++ b/src/plugins/value/domains/octagons.ml
@@ -349,7 +349,7 @@ module Rewriting = struct
       let min_bound = Eval_typ.range_lower_bound range in
       let ival_range = Ival.inject_range (Some min_bound) (Some max_bound) in
       let aux has_better_bound bound bound_kind alarms =
-        if has_better_bound ival ival_range >= 0
+        if Ival.is_bottom ival || has_better_bound ival ival_range >= 0
         then
           let alarm = Alarms.Overflow (overflow, expr, bound, bound_kind) in
           Alarmset.set alarm Alarmset.True alarms