diff --git a/lib/SimpleSAML/XML/SAML20/AuthnResponse.php b/lib/SimpleSAML/XML/SAML20/AuthnResponse.php
index 7ac0a60aa9124ae13021ec010a76ced1c951ade0..5bc4e0520af401e5454f183e82a5db33c41e320f 100644
--- a/lib/SimpleSAML/XML/SAML20/AuthnResponse.php
+++ b/lib/SimpleSAML/XML/SAML20/AuthnResponse.php
@@ -509,8 +509,8 @@ class SimpleSAML_XML_SAML20_AuthnResponse extends SimpleSAML_XML_AuthnResponse {
 			}
 	
 			/* Update the session information */
-			SimpleSAML_Session::init(true, 'saml2');
 			$session = SimpleSAML_Session::getInstance();
+			$session->doLogin('saml2');
 	
 			$session->setAttributes($this->attributes);
 			$session->setNameID($this->nameid);
@@ -519,8 +519,8 @@ class SimpleSAML_XML_SAML20_AuthnResponse extends SimpleSAML_XML_AuthnResponse {
 		} elseif ($status == 'urn:oasis:names:tc:SAML:2.0:status:NoPassive') {
 			/* 	Do not process the authResponse when NoPassive is sent - we continue with an empty set of attributes.
 		   		Some day we will be able to tell the application what happened */
-			SimpleSAML_Session::init(true, 'saml2');
 			$session = SimpleSAML_Session::getInstance();
+			$session->doLogin('saml2');
 			$session->setAttributes(array());
 		} else {
 			SimpleSAML_Utilities::fatalError($session->getTrackID(), 'RESPONSESTATUSNOSUCCESS', new Exception("Status = " . $status));
diff --git a/lib/SimpleSAML/XML/Shib13/AuthnResponse.php b/lib/SimpleSAML/XML/Shib13/AuthnResponse.php
index 05ffe1cbef3cdbacd7b22cc622220ca375ac992c..c3f103f2e66bceaae2b861747684df8cd5e9fb81 100644
--- a/lib/SimpleSAML/XML/Shib13/AuthnResponse.php
+++ b/lib/SimpleSAML/XML/Shib13/AuthnResponse.php
@@ -115,8 +115,8 @@ class SimpleSAML_XML_Shib13_AuthnResponse extends SimpleSAML_XML_AuthnResponse {
 
 	public function createSession() {
 	
-		SimpleSAML_Session::init(true, 'shib13');
 		$session = SimpleSAML_Session::getInstance();
+		$session->doLogin('shib13');
 		$session->setAttributes($this->getAttributes());
 		
 		$nameid = $this->getNameID();