diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
index 0873911..fb1c93a 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java
@@ -164,7 +164,7 @@
                 membersModal.header(new StringResourceModel(
                         "group.members",
                         GroupDirectoryPanel.this,
-                        Model.of(Pair.of(groupTO, type))));
+                        Model.of(Pair.of(groupTO, new ResourceModel("anyType." + type, type).getObject()))));
 
                 membersModal.setContent(anyPanel);
                 membersModal.show(true);
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
index f16698b..20026c0 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/MembersTogglePanel.java
@@ -34,8 +34,10 @@
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
 import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.IChoiceRenderer;
 import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 
 public abstract class MembersTogglePanel extends TogglePanel<Serializable> {
 
@@ -64,8 +66,17 @@
         form = new Form<>("membersForm");
         addInnerObject(form);
 
-        final FieldPanel<String> type = new AjaxDropDownChoicePanel<>("type", "type", typeModel, false).
+        FieldPanel<String> type = new AjaxDropDownChoicePanel<>("type", "type", typeModel, false).
                 setChoices(anyTypes).
+                setChoiceRenderer(new IChoiceRenderer<String>() {
+
+                    private static final long serialVersionUID = -200150326532439794L;
+
+                    @Override
+                    public Object getDisplayValue(final String anyType) {
+                        return new ResourceModel("anyType." + anyType, anyType).getObject();
+                    }
+                }).
                 setStyleSheet("form-control").
                 setRequired(true);
 
