diff --git a/editor/plugins/theme_editor_plugin.cpp b/editor/plugins/theme_editor_plugin.cpp index 4cc88aab3486..da3b4c5f194b 100644 --- a/editor/plugins/theme_editor_plugin.cpp +++ b/editor/plugins/theme_editor_plugin.cpp @@ -2386,9 +2386,25 @@ HashMap ThemeTypeEditor::_get_type_items(String p_type_name, T if (p_include_default) { names.clear(); - String default_type = p_type_name; - if (edited_theme->get_type_variation_base(p_type_name) != StringName()) { - default_type = edited_theme->get_type_variation_base(p_type_name); + String default_type; + + { + const StringName variation_base = edited_theme->get_type_variation_base(p_type_name); + if (variation_base != StringName()) { + default_type = variation_base; + } + } + + if (default_type.is_empty()) { + // If variation base was not found in the edited theme, look in the default theme. + const StringName variation_base = ThemeDB::get_singleton()->get_default_theme()->get_type_variation_base(p_type_name); + if (variation_base != StringName()) { + default_type = variation_base; + } + } + + if (default_type.is_empty()) { + default_type = p_type_name; } List theme_binds;