diff --git a/lib/SimpleSAML/Auth/Default.php b/lib/SimpleSAML/Auth/Default.php
index defc859762aaefd599f6e5d7620aa21a9ccdd36b..1191d6ec16b78acdb1d44ac662ef940770b73e8f 100644
--- a/lib/SimpleSAML/Auth/Default.php
+++ b/lib/SimpleSAML/Auth/Default.php
@@ -233,6 +233,12 @@ class SimpleSAML_Auth_Default {
 			$session->setLogoutState($state['LogoutState']);
 		}
 
+		if (array_key_exists('IdP', $state)) {
+			$session->setIdP($state['IdP']);
+		} else {
+			$session->setIdP(NULL);
+		}
+
 		SimpleSAML_Utilities::redirect($redirectTo);
 	}