diff --git a/tests/draw/test_float.py b/tests/draw/test_float.py
index 49665d83f..4c8e51b84 100644
--- a/tests/draw/test_float.py
+++ b/tests/draw/test_float.py
@@ -659,3 +659,42 @@ def test_float_split_10(assert_pixels):
bbbbb bbbbb
aa aa
bbb bbb
''')
+
+
+@assert_no_logs
+def test_float_split_11(assert_pixels):
+ assert_pixels('''
+ ________________
+ _BBBBBBBBBB_____
+ _BBBBBBBBBB_____
+ _BBBBBBBBBB_____
+ _BBBBBBBBBB_____
+ ________________
+ ________________
+ ________________
+ _BBBB___________
+ _BBBB___________
+ _rrrrrrrrrrrrrr_
+ _rrrrrrrrrrrrrr_
+ ________________
+ ________________
+ ''', '''
+
+ aaaaa aaaaa aa
+ bbbbbbb''')
diff --git a/weasyprint/layout/page.py b/weasyprint/layout/page.py
index 45b2fb01c..49f8c5a6e 100644
--- a/weasyprint/layout/page.py
+++ b/weasyprint/layout/page.py
@@ -567,7 +567,7 @@ def make_page(context, root_box, page_type, resume_at, page_number,
out_of_flow_boxes = []
broken_out_of_flow = []
for box, containing_block, skip_stack in context.broken_out_of_flow:
- box.position_y = 0
+ box.position_y = root_box.content_box_y()
if box.is_floated():
out_of_flow_box, out_of_flow_resume_at = float_layout(
context, box, containing_block, positioned_boxes,