diff --git a/lib/SimpleSAML/Logger.php b/lib/SimpleSAML/Logger.php
index 8c121bbb9fba3ded150aef20693556f47feedb1c..a383addbd76782bde5972fc6c32ed9895d2bdd3f 100644
--- a/lib/SimpleSAML/Logger.php
+++ b/lib/SimpleSAML/Logger.php
@@ -373,7 +373,7 @@ class Logger
             $handler = $config->getString('logging.handler', 'syslog');
         }
 
-        if (class_exists($handler)) {
+        if (!array_key_exists($handler, $known_handlers) && class_exists($handler)) {
             if (!in_array('SimpleSAML\Logger\LoggingHandlerInterface', class_implements($handler), true)) {
                 throw new \Exception("The logging handler '$handler' is invalid.");
             }