diff --git a/lib/IdPAccountManager/SAMLMetadata.pm b/lib/IdPAccountManager/SAMLMetadata.pm
index 62ba33b4353464d1416a485c330c7236af2e8c6d..85e346765fbdc52b95e3e8e6c0bcf651f27f871b 100644
--- a/lib/IdPAccountManager/SAMLMetadata.pm
+++ b/lib/IdPAccountManager/SAMLMetadata.pm
@@ -234,10 +234,12 @@ sub _parse_saml_metadata {
 		}elsif ($child->nodeName =~ /ContactPerson$/) {
 			my %contact_details;
 			$contact_details{'type'} = $child->getAttribute('contactType');
-			foreach my $contact_child ($child->childNodes()) {
-				$contact_details{$contact_child->nodeName} = &IdPAccountManager::Tools::encode_utf8($contact_child->textContent());
-			}
-			push @{$extracted_data->{'contacts'}}, \%contact_details;
+                        if (defined $contact_details{'type'}) {
+                            foreach my $contact_child ($child->childNodes()) {
+                                    $contact_details{$contact_child->localName} = &IdPAccountManager::Tools::encode_utf8($contact_child->textContent());
+                            }
+                            push @{$extracted_data->{'contacts'}}, \%contact_details;
+                        }
 		}
 
 
@@ -257,8 +259,8 @@ sub _parse_saml_metadata {
 			my %contact_details;
 			$contact_details{'type'} = $contact->getAttribute('contactType');
 			foreach my $contact_child ($EntityDescriptor->childNodes()) {
-				&IdPAccountManager::Tools::do_log('trace', "Contact : %s", $contact_child->nodeName);
-				$contact_details{$contact_child->nodeName} = &IdPAccountManager::Tools::encode_utf8($contact_child->textContent());
+				&IdPAccountManager::Tools::do_log('trace', "Contact : %s", $contact_child->localName);
+				$contact_details{$contact_child->localName} = &IdPAccountManager::Tools::encode_utf8($contact_child->textContent());
 			}
 			push @{$extracted_data->{'contacts'}}, \%contact_details;
 		}
diff --git a/templates/web/select_sp.tt2.html b/templates/web/select_sp.tt2.html
index 0a3c4445933aee5f7d957aa07d6b1f65a5de8458..40488c3639996eb903537e5699f8f1303fa60de1 100644
--- a/templates/web/select_sp.tt2.html
+++ b/templates/web/select_sp.tt2.html
@@ -1,5 +1,5 @@
 <h3>Send email challenge</h3>
-[% IF entity.display_name && entity.display_name.en %]
+[% IF sp_metadata_as_hashref.display_name && sp_metadata_as_hashref.display_name.en %]
 [% SET sp_display_name = sp_metadata_as_hashref.display_name.en %]
 [% ELSE %]
 [% SET sp_display_name = sp_metadata_as_hashref.entityid %]
@@ -11,17 +11,16 @@ Before you can create test accounts at this Identity Provider, we need to ensure
 <fieldset>
 [% IF  sp_metadata_as_hashref.contacts.defined %]
     <legend>Select your email address</legend>
-   <label for="sp_entityid">The email addresses below have been extracted from your SP SAML metadata.<br/>Please select the email address where an email challenge can be sent to validate your identity</label>
+   <label for="sp_entityid">The email addresses below have been extracted from your SP SAML metadata.<br/>Please select the email address where an email challenge
+   can be sent to validate your identity</label>
 
-   <ul>
 [% FOREACH contact IN sp_metadata_as_hashref.contacts -%]
 [% matches = contact.EmailAddress.match('^(mailto:)?(.*)$') %]
 [% SET email = matches.1%]
 
-<li><input name="email" value="[% email %]" id="[% email %]" type="radio"/>
-<label for="[% email %]">[% email %]</label></li>
+<input name="email" value="[% email %]" id="[% email %]" type="radio"/>
+<label for="[% email %]">[% email %]</label>
 [% END %]
-</ul>
 
 [% ELSE %]
 No ContactPerson elements could be found in your SP SAML metadata. Therefore we are unable to provide test accounts for your SP. Please contact your local federation