diff --git a/rflx/model/message.py b/rflx/model/message.py index 7ea2f167e..dab10d9b3 100644 --- a/rflx/model/message.py +++ b/rflx/model/message.py @@ -1903,12 +1903,16 @@ def _prove_field_positions( t = self.types[f] if isinstance(t, mty.Opaque): element_size = t.element_size - start_aligned = expr.Not( - expr.Equal( - expr.Mod(self._target_first(last), element_size), - expr.Number(1), - last.location, + start_aligned = expr.NotEqual( + expr.Mod( + expr.Add( + self._target_first(last), + expr.Number(-1), + ).simplified(), + element_size, ), + expr.Number(0), + last.location, ) path_message = " -> ".join([p.target.name for p in path])