diff --git a/bin/update-metadata.in b/bin/update-metadata.in
index a5350a9874cec20f7ffd373d49d0e978a9f1c8b4..2fc80a1d83c6529e89043881dfe73fcc4d56fa87 100755
--- a/bin/update-metadata.in
+++ b/bin/update-metadata.in
@@ -116,8 +116,14 @@ foreach my $id (keys %{$configuration->{federations}}) {
                 information_url  => $entry->{information_url},
                 organization_url => $entry->{organization_url},
             );
-            $entity->contacts(uniq map { $_->{EmailAddress} } @{$entry->{contacts}})
-                if $entry->{contacts};
+            if ($entry->{contacts}) {
+                my @contacts =
+                    uniq
+                    grep { $_ }
+                    map { $_->{EmailAddress} }
+                    @{$entry->{contacts}};
+                $entity->contacts(@contacts);
+            }
             $entity->federations($id);
             $entity->save();
         }