diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp index 45d1f2695..f762709b0 100644 --- a/scene/gui/file_dialog.cpp +++ b/scene/gui/file_dialog.cpp @@ -541,8 +541,11 @@ void FileDialog::update_file_list() { files.pop_front(); } - if (tree->get_root() && tree->get_root()->get_children() && tree->get_selected() == nullptr) { - tree->get_root()->get_children()->select(0); + if (mode != MODE_SAVE_FILE) { + // Select the first file from list if nothing is selected. + if (tree->get_root() && tree->get_root()->get_children() && tree->get_selected() == nullptr) { + tree->get_root()->get_children()->select(0); + } } }