diff --git a/modules/admin/lib/Controller/Federation.php b/modules/admin/lib/Controller/Federation.php
index 2d035d5736c9e832f528409cf698d192dfaf9ce7..622c612a68124bf25a020a99371019c934f147bc 100644
--- a/modules/admin/lib/Controller/Federation.php
+++ b/modules/admin/lib/Controller/Federation.php
@@ -238,8 +238,10 @@ class Federation
                     $builder = new SAMLBuilder($entity['entityid']);
                     $builder->addMetadataIdP20($entity['metadata_array']);
                     $builder->addOrganizationInfo($entity['metadata_array']);
-                    foreach ($entity['metadata_array']['contacts'] as $contact) {
-                        $builder->addContact($contact['contactType'], $contact);
+                    if (isset($entity['metadata_array']['contacts'])) {
+                        foreach ($entity['metadata_array']['contacts'] as $contact) {
+                            $builder->addContact($contact['contactType'], $contact);
+                        }
                     }
 
                     $entity['metadata'] = Signer::sign(
@@ -279,8 +281,10 @@ class Federation
                     $builder = new SAMLBuilder($entity['entityid']);
                     $builder->addSecurityTokenServiceType($entity['metadata_array']);
                     $builder->addOrganizationInfo($entity['metadata_array']);
-                    foreach ($entity['metadata_array']['contacts'] as $contact) {
-                        $builder->addContact($contact['contactType'], $contact);
+                    if (isset($entity['metadata_array']['contacts'])) {
+                        foreach ($entity['metadata_array']['contacts'] as $contact) {
+                            $builder->addContact($contact['contactType'], $contact);
+                        }
                     }
 
                     $entity['metadata'] = Signer::sign(