diff --git a/modules/saml/lib/Auth/Source/SP.php b/modules/saml/lib/Auth/Source/SP.php
index 9d9aeb40283be95d17b0e3b1698dd98c88aae52b..bd56b465d5952fa405f7d209afb82a9cb2c11cf8 100644
--- a/modules/saml/lib/Auth/Source/SP.php
+++ b/modules/saml/lib/Auth/Source/SP.php
@@ -471,7 +471,6 @@ class sspmod_saml_Auth_Source_SP extends SimpleSAML_Auth_Source {
 		$source->addLogoutCallback($idp, $state);
 
 		$state['Attributes'] = $authProcState['Attributes'];
-		$state['IdP'] = $idp;
 
 		if (isset($state['saml:sp:isUnsoliced']) && (bool)$state['saml:sp:isUnsoliced']) {
 			if (isset($state['saml:sp:RelayState'])) {
diff --git a/modules/saml/www/sp/saml2-acs.php b/modules/saml/www/sp/saml2-acs.php
index 7fa449357c19921a998a58b439346d367df3f0ac..19c1ed59c6424147ac3140bfbed319d23b5497ff 100644
--- a/modules/saml/www/sp/saml2-acs.php
+++ b/modules/saml/www/sp/saml2-acs.php
@@ -118,5 +118,13 @@ $state['saml:AuthenticatingAuthority'] = $authenticatingAuthority;
 $state['saml:AuthenticatingAuthority'][] = $idp;
 $state['PersistentAuthData'][] = 'saml:AuthenticatingAuthority';
 
+$state['saml:sp:IdP'] = $idp;
+$state['PersistentAuthData'][] = 'saml:sp:IdP';
+$state['saml:sp:NameID'] = $nameId;
+$state['PersistentAuthData'][] = 'saml:sp:NameID';
+$state['saml:sp:SessionIndex'] = $sessionIndex;
+$state['PersistentAuthData'][] = 'saml:sp:SessionIndex';
+
+
 $source->handleResponse($state, $idp, $attributes);
 assert('FALSE');