diff --git a/src/macrorugo/macrorugo_compound.ts b/src/macrorugo/macrorugo_compound.ts
index 3eb52df56bb8f485719ec893143d401563c270bf..86f9db5419ec9d210a1af91b0c54bc5bcb335418 100644
--- a/src/macrorugo/macrorugo_compound.ts
+++ b/src/macrorugo/macrorugo_compound.ts
@@ -95,7 +95,7 @@ export class MacrorugoCompound extends MacroRugo implements Observer {
                 const m = new Message(MessageCode.WARNING_RAMP_WIDTH_LOWER_THAN_PATTERN_WIDTH);
                 m.extraVar.pattern = ax;
                 this._result.resultElement.log.add(m);
-            } else if ((this.prms.BR.v + 0.001) % (ax / 2) > 0.01) { // little tolerance on imprecise float numbers
+            } else if (this.prms.BR.v % (ax / 2) > 0.001 && this.prms.BR.v % (ax / 2) < ax / 2 - 0.001) {
                 const m = new Message(MessageCode.WARNING_RAMP_WIDTH_NOT_MULTIPLE_OF_HALF_PATTERN_WIDTH);
                 m.extraVar.halfPattern = ax / 2;
                 m.extraVar.lower = Math.floor(this.prms.BR.v / ax * 2) * (ax / 2);