diff --git a/bin/update-metadata.in b/bin/update-metadata.in
index 2fc80a1d83c6529e89043881dfe73fcc4d56fa87..59979b3c62c326ecd17b269929b84ada4f975bdf 100755
--- a/bin/update-metadata.in
+++ b/bin/update-metadata.in
@@ -125,7 +125,12 @@ foreach my $id (keys %{$configuration->{federations}}) {
                 $entity->contacts(@contacts);
             }
             $entity->federations($id);
-            $entity->save();
+            eval {
+                $entity->save();
+            };
+            if ($EVAL_ERROR) {
+                warn "error while saving entity $entry->{entityid}: $EVAL_ERROR";
+            }
         }
 
     }