diff --git a/lib/AccountManager/Metadata.pm b/lib/AccountManager/Metadata.pm
index e83ec950e731f60c12a83a7073af9384f46becb5..e4524bafe6dca987a181193184715ce4db4061a2 100644
--- a/lib/AccountManager/Metadata.pm
+++ b/lib/AccountManager/Metadata.pm
@@ -138,12 +138,18 @@ sub parse {
                     my %names =
                         map { $_->getAttribute('xml:lang') => $_->textContent() }
                         @names;
-                    $data->{name} = $names{en} ? $names{en} : $names[0]->textContent();
+                    $data->{name} =
+                        $names{en} ? $names{en} :
+                        @names     ? $names[0]->textContent() :
+                        undef;
                     my @urls = $uiinfo->getChildrenByLocalName('InformationURL');
                     my %urls =
                         map { $_->getAttribute('xml:lang') => $_->textContent() }
                         @urls;
-                    $data->{url} = $urls{en} ? $urls{en} : $urls[0]->textContent();
+                    $data->{url} =
+                        $urls{en} ? $urls{en}           :
+                        @urls     ? $urls[0]->textContent() :
+                        undef;
                 }
 
             } elsif ($child->localname() eq 'Extensions') {