Diff
1diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
2index 8e9b95325bfe203ed09a34964a31d7f5ab558f70..5f98d469eae575089832ac09ee17a1c4645288de 100644
3--- a/src/Hy3Layout.cpp
4+++ b/src/Hy3Layout.cpp
5@@ -1473,7 +1473,9 @@ Hy3Node* Hy3Layout::shiftOrGetFocus(Hy3Node& node, ShiftDirection direction, boo
6
7 bool shift_after = false;
8
9- if (shiftMatchesLayout(group_data.layout, direction)) {
10+ if (!shift && group_data.layout == Hy3GroupLayout::Tabbed && group_data.focused_child != nullptr) {
11+ iter = std::find(group_data.children.begin(), group_data.children.end(), group_data.focused_child);
12+ } else if (shiftMatchesLayout(group_data.layout, direction)) {
13 // if the group has the same orientation as movement pick the last/first child based
14 // on movement direction
15 if (shiftIsForward(direction)) iter = group_data.children.begin();