diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index 329c6f3da3..c329284ecb 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -2841,7 +2841,9 @@ void Tree::select_single_item(TreeItem *p_selected, TreeItem *p_current, int p_c TreeItem *c = p_current->first_child; while (c) { - select_single_item(p_selected, c, p_col, p_prev, r_in_range, p_current->is_collapsed() || p_force_deselect); + if (c->is_visible()) { + select_single_item(p_selected, c, p_col, p_prev, r_in_range, p_current->is_collapsed() || p_force_deselect); + } c = c->next; } }