diff --git a/lib/SimpleSAML/Utils/Config/Metadata.php b/lib/SimpleSAML/Utils/Config/Metadata.php
index 9ec4720157ce0805776cdfa2ea68355275d24a03..3f6b1bea6d5fa9a9cd42c695e3a71ef14b9c4f44 100644
--- a/lib/SimpleSAML/Utils/Config/Metadata.php
+++ b/lib/SimpleSAML/Utils/Config/Metadata.php
@@ -255,12 +255,11 @@ class Metadata
      *
      * @return boolean True if the entity should be hidden, false otherwise.
      */
-    public static function isHiddenFromDiscovery($metadata)
+    public static function isHiddenFromDiscovery(array $metadata)
     {
-        if (array_key_exists(self::$ENTITY_CATEGORY, $metadata['EntityAttributes'])) {
-            if (in_array(self::$HIDE_FROM_DISCOVERY, $metadata['EntityAttributes'][self::$ENTITY_CATEGORY])) {
-                return true;
-            }
+        try {
+            return in_array(self::$HIDE_FROM_DISCOVERY, $metadata['EntityAttributes'][self::$ENTITY_CATEGORY]);
+        } catch (\Exception $e) {
         }
         return false;
     }