diff --git a/src/textual/_arrange.py b/src/textual/_arrange.py
index 2bf706e0f..eb9818ee7 100644
--- a/src/textual/_arrange.py
+++ b/src/textual/_arrange.py
@@ -41,7 +41,6 @@ def arrange(
placements: list[WidgetPlacement] = []
add_placement = placements.append
- region = size.region
_WidgetPlacement = WidgetPlacement
top_z = TOP_Z
@@ -50,7 +49,9 @@ def arrange(
get_dock = attrgetter("styles.dock")
styles = widget.styles
+ layer_region = size.region
for widgets in dock_layers.values():
+ region = layer_region
layout_widgets, dock_widgets = partition(get_dock, widgets)
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots.ambr b/tests/snapshot_tests/__snapshots__/test_snapshots.ambr
index 977ab4286..a92a00f7a 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots.ambr
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots.ambr
@@ -6637,6 +6637,326 @@
'''
# ---
+# name: test_order_independence
+ '''
+
+
+ '''
+# ---
+# name: test_order_independence_toggle
+ '''
+
+
+ '''
+# ---
# name: test_textlog_max_lines
'''