diff --git a/lib/SimpleSAML/Auth/Source.php b/lib/SimpleSAML/Auth/Source.php
index 3400be1f5e28e5d9149d5d798bd8678b689e8b5d..d42d3eef3b0617e8e6b28ab86965cf10e7e39fb4 100644
--- a/lib/SimpleSAML/Auth/Source.php
+++ b/lib/SimpleSAML/Auth/Source.php
@@ -299,6 +299,9 @@ abstract class SimpleSAML_Auth_Source {
 
 		$data = $session->getData('SimpleSAML_Auth_Source.LogoutCallbacks', $id);
 		if ($data === NULL) {
+			/* FIXME: fix for IdP-first flow (issue 397) -> reevaluate logout callback infrastructure */
+			$session->doLogout($this->authId);
+
 			return;
 		}