diff --git a/lib/AccountManager/Metadata.pm b/lib/AccountManager/Metadata.pm
index 41fce727e313b77168fa131865c37cbd8a13bace..9f57a283fb3d1bdefeb9bc3db64e33df447cb089 100644
--- a/lib/AccountManager/Metadata.pm
+++ b/lib/AccountManager/Metadata.pm
@@ -81,6 +81,16 @@ sub parse {
                     push @{ $data->{domain} }, $scope->textContent();
                 }
 
+                my @uiinfo = $child->getElementsByLocalName('UIInfo');
+                if (@uiinfo) {
+                    my $uiinfo = $uiinfo[0];
+                    my @names = $uiinfo->getChildrenByLocalName('DisplayName');
+                    my %names =
+                        map { $_->getAttribute('xml:lang') => $_->textContent() }
+                        @names;
+                    $data->{name} = $names{en} ? $names{en} : $names[0];
+                }
+
             } elsif ($child->localname() eq 'SPSSODescriptor') {
                 # skip immediatly if requested type differs
                 next ENTITY if $args{type} && $args{type} ne 'sp';
@@ -121,6 +131,16 @@ sub parse {
                     };
                 }
 
+                my @uiinfo = $child->getElementsByLocalName('UIInfo');
+                if (@uiinfo) {
+                    my $uiinfo = $uiinfo[0];
+                    my @names = $uiinfo->getChildrenByLocalName('DisplayName');
+                    my %names =
+                        map { $_->getAttribute('xml:lang') => $_->textContent() }
+                        @names;
+                    $data->{name} = $names{en} ? $names{en} : $names[0];
+                }
+
             } elsif ($child->localname() eq 'Extensions') {
 
                 foreach my $registrationinfo (
@@ -141,6 +161,7 @@ sub parse {
                             $policy->textContent();
                     }
                 }
+
             } elsif ($child->localname() eq 'ContactPerson') {
                 my $details;
                 $details->{type} = $child->getAttribute('contactType');
@@ -154,13 +175,6 @@ sub parse {
                     }
                     push @{ $data->{contacts} }, $details;
                 }
-            } elsif ($child->localname() eq 'Organization') {
-                $data->{name}         = _get_default_value(
-                    $child, 'OrganizationName'
-                );
-                $data->{display_name} = _get_default_value(
-                    $child, 'OrganizationDisplayName'
-                );
             }
 
             ## Getting X.509 certificates
@@ -175,6 +189,10 @@ sub parse {
         # and no identifiable type was found
         next ENTITY if $args{type} && !$data->{type};
 
+        $data->{display_name} = $data->{name} ?
+            sprintf("%s (%s)", $data->{entityid}, $data->{name}) :
+            sprintf("%s", $data->{entityid});
+
         push @array, $data;
     }
 
@@ -198,17 +216,6 @@ sub _boolean2integer {
         undef;
 }
 
-
-sub _get_default_value {
-    my ($node, $child_name) = @_;
-
-    my %names;
-    $names{ $_->getAttribute('xml:lang') } = $_->textContent()
-        foreach $node->getChildrenByLocalName($child_name);
-
-    return $names{en} ? $names{en} : (values %names)[0];
-}
-
 1;
 __END__
 
diff --git a/templates/web/select_sp.tt2.html b/templates/web/select_sp.tt2.html
index b3889d6c18dabfa353804eb6fbc9d4f1860f7d6b..c3ecc6764b37d9ef2c36b149f0eae3e4c0d0336f 100644
--- a/templates/web/select_sp.tt2.html
+++ b/templates/web/select_sp.tt2.html
@@ -110,7 +110,7 @@ $(function() {
         <select id="entityid" name="entityid" class="required">
             <option value=""></option>
             [% FOREACH entity IN metadata.sort('display_name') %]
-            <option value="[% entity.entityid %]">[% IF entity.display_name %][% entity.display_name %] [%+ END %]([% entity.entityid %])</option>
+            <option value="[% entity.entityid %]">[% entity.display_name %]</option>
             [% END %]
         </select>
         <p>[% lh.maketext("Only Service Providers included in eduGAIN metadata are included in the list.") %]</p>