diff --git a/source/blender/nodes/intern/geometry_nodes_caller_ui.cc b/source/blender/nodes/intern/geometry_nodes_caller_ui.cc index 0c399b568fd..85be3326ec3 100644 --- a/source/blender/nodes/intern/geometry_nodes_caller_ui.cc +++ b/source/blender/nodes/intern/geometry_nodes_caller_ui.cc @@ -512,9 +512,11 @@ static void draw_property_for_socket(DrawGroupInputsContext &ctx, if (parent_name.has_value()) { const StringRefNull prefix_to_remove = *parent_name; int pos = name.find(prefix_to_remove); - if (pos == 0) { + if (pos == 0 && name != prefix_to_remove) { /* Needs to trim remainig space characters if any. Use the `trim()` from `StringRefNull` - * because std::string doesn't have a built-in `trim()` yet. */ + * because std::string doesn't have a built-in `trim()` yet. If the property name is the + * same as parent panel's name then keep the name, otherwise the name would be an empty + * string which messes up the UI. */ name = StringRefNull(name.substr(prefix_to_remove.size())).trim(); } }