diff --git a/lib/SimpleSAML/Utils/Config/Metadata.php b/lib/SimpleSAML/Utils/Config/Metadata.php
index 3e50fab4f56a32357371a4128e0c210334d8fc88..1615ef64bdd6c8d4f7ef034e93c40d0e7f20f95d 100644
--- a/lib/SimpleSAML/Utils/Config/Metadata.php
+++ b/lib/SimpleSAML/Utils/Config/Metadata.php
@@ -257,30 +257,12 @@ class Metadata
      */
     public static function isHiddenFromDiscovery(array $metadata)
     {
-        if (!is_array($metadata)) {
-            return false;
+        \SimpleSAML_Logger::maskErrors(E_ALL);
+        $hidden = in_array(self::$HIDE_FROM_DISCOVERY, $metadata['EntityAttributes'][self::$ENTITY_CATEGORY]);
+        \SimpleSAML_Logger::popErrorMask();
+        if (is_bool($hidden)) {
+            return $hidden;
         }
-
-        if (!array_key_exists('EntityAttributes', $metadata)) {
-            return false;
-        }
-
-        if (!is_array($metadata['EntityAttributes'])) {
-            return false;
-        }
-
-        if (!array_key_exists(self::$ENTITY_CATEGORY, $metadata['EntityAttributes'])) {
-            return false;
-        }
-
-        if (!is_array($metadata['EntityAttributes'][self::$ENTITY_CATEGORY])) {
-            return false;
-        }
-
-        if (!in_array(self::$HIDE_FROM_DISCOVERY, $metadata['EntityAttributes'][self::$ENTITY_CATEGORY])) {
-            return false;
-        }
-
-        return true;
+        return false;
     }
 }