1diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
2index ea8cae11335a252c9415ad91c4d4916ab2e7a90a..1ee6be28d620d57091a44f7308509dda3fea2f53 100644
3--- a/src/Hy3Layout.cpp
4+++ b/src/Hy3Layout.cpp
5@@ -1177,7 +1177,7 @@ Hy3Node* Hy3Layout::shiftOrGetFocus(Hy3Node& node, ShiftDirection direction, boo
6 7 auto& group = break_parent->data.as_group; // must be a group in order to be a parent
8 9- if (has_broken_once) break;
10+ if (once && shift && has_broken_once) break;
1112 if (shiftMatchesLayout(group.layout, direction)) {
13 // group has the correct orientation