diff --git a/kernel/classes/datatypes/ezuser/ezuser.php b/kernel/classes/datatypes/ezuser/ezuser.php
index 99d1ca1edd520f75ab260e8a1f0666a5f1c5c414..f7a78a467b6ceaca5795016faf676e09c770c548 100644
--- a/kernel/classes/datatypes/ezuser/ezuser.php
+++ b/kernel/classes/datatypes/ezuser/ezuser.php
@@ -1195,6 +1195,7 @@ WHERE user_id = '" . $userID . "' AND
                 if ( $ssoUser !== false )
                 {
                     $currentUser = $ssoUser;
+                    $userId = $currentUser->attribute( 'contentobject_id' );
 
                     $userInfo = array();
                     $userInfo[$userId] = array( 'contentobject_id' => $currentUser->attribute( 'contentobject_id' ),
@@ -1209,9 +1210,9 @@ WHERE user_id = '" . $userID . "' AND
                     $http->setSessionVariable( 'eZUserLoggedInID', $userId );
 
                     eZUser::updateLastVisit( $currentUser->attribute( 'contentobject_id' ) );
-                    eZUser::setCurrentlyLoggedInUser( $currentUser, $currentUser->attribute( 'contentobject_id' ) );
+                    eZUser::setCurrentlyLoggedInUser( $currentUser, $userId );
+                    eZSession::stop();
                     eZHTTPTool::redirect( eZSys::wwwDir() . eZSys::indexFile( false ) . eZSys::requestURI(), array(), 302 );
-
                 }
             }
         }
