diff --git a/lib/SimpleSAML/SessionHandlerPHP.php b/lib/SimpleSAML/SessionHandlerPHP.php
index a580e662a7e48b08a37c1edb94a5bbfe5014c3d0..8a960bfab7633150e0f486be27179f0cf93318de 100644
--- a/lib/SimpleSAML/SessionHandlerPHP.php
+++ b/lib/SimpleSAML/SessionHandlerPHP.php
@@ -224,7 +224,7 @@ class SessionHandlerPHP extends SessionHandler
      */
     public function loadSession(string $sessionId = null): ?Session
     {
-        if ($sessionId !== null) {
+        if ($sessionId !== session_id()) {
             throw new Error\Exception('Cannot load PHP session with a specific ID.');
         } elseif (session_id() === '') {
             $this->getCookieSessionId();