diff --git a/lib/SimpleSAML/Auth/Default.php b/lib/SimpleSAML/Auth/Default.php
index 18df3b49eb69464bb1cc621cdad9377135a63824..ca4221db8f7e3fddf014620126cea6cc96163c8b 100644
--- a/lib/SimpleSAML/Auth/Default.php
+++ b/lib/SimpleSAML/Auth/Default.php
@@ -100,6 +100,12 @@ class SimpleSAML_Auth_Default {
 			$session->setLogoutState($state['LogoutState']);
 		}
 
+		if (array_key_exists('IdP', $state)) {
+			$session->setIdP($state['IdP']);
+		} else {
+			$session->setIdP(NULL);
+		}
+
 		/* Redirect... */
 		SimpleSAML_Utilities::redirect($returnURL);
 	}