diff --git a/lib/IdPAccountManager/SAMLMetadata.pm b/lib/IdPAccountManager/SAMLMetadata.pm
index 06e16fa8baabe0da038be28c579131d2625b0344..b7238f6fee27fc85a2915c372cef6d02858151cd 100644
--- a/lib/IdPAccountManager/SAMLMetadata.pm
+++ b/lib/IdPAccountManager/SAMLMetadata.pm
@@ -44,16 +44,12 @@ sub parse {
         @{ $self->{doc}->getElementsByLocalName('EntityDescriptor') })
     {
 
-        my $data = {};
+        my $id = $EntityDescriptor->getAttribute('entityID');
+        next if $args{entity_id} && $args{entity_id} ne $id;
 
-        if ($EntityDescriptor->hasAttributes()) {
-            foreach my $attr ($EntityDescriptor->getAttribute('entityID')) {
-                $data->{entityid} = $attr;
-            }
-        }
-
-        next if ($args{entity_id}
-            && ($args{entity_id} ne $data->{entityid}));
+        my $data = {
+            entityid => $id
+        };
 
         foreach my $child ($EntityDescriptor->childNodes()) {