Yakov,
This is one of the annoying issues with floats. Fortunately, there is a built-in solution in Asciidoctor to work around it. You'll want to wrap your image in a "float group".
```asciidoc
[.float-group]
--
image:sunset.jpg[Sunset,150,150,role="right"] What a beautiful sunset!
--
== Next Section
```
A float group defines the boundaries of the floatable content so that any content that follows doesn't get caught up in the float.
Note that the float group behavior is provided by the default Asciidoctor stylesheet. You can see the styles here:
-Dan