diff --git a/ldap_sso/ldap_sso.module b/ldap_sso/ldap_sso.module
index 0cf7a35..7d719d0 100644
--- a/ldap_sso/ldap_sso.module
+++ b/ldap_sso/ldap_sso.module
@@ -265,6 +265,10 @@
       ),
       'sso_login' => TRUE,
     );
+    
+    // Overwrite global user object to login
+    global $user;
+    
     $user = ldap_authentication_user_login_authenticate_validate(array(), $fake_form_state, TRUE);
 
     if ($detailed_watchdog_log) {
@@ -287,6 +291,11 @@
       if ($detailed_watchdog_log) {
         watchdog('ldap_authentication', 'ldap_sso_user_login_sso.remote_user.user_success.drupal_goto front', $watchdog_tokens, WATCHDOG_DEBUG);
       }
+      
+      // Finalize login
+      $login_array = array ('name' => $user->name);
+      user_login_finalize($login_array);
+      
       drupal_goto('<front>');
     }
     else {