diff --git a/gauth_login/gauth_login.module b/gauth_login/gauth_login.module
index e488c29..48ad1f7 100755
--- a/gauth_login/gauth_login.module
+++ b/gauth_login/gauth_login.module
@@ -62,10 +62,15 @@ function gauth_login_gauth_google_response() {
       $client->setClientSecret($client_secret);
       $client->setRedirectUri(gauth_callback_url());
       $client->setDeveloperKey($api_key);
+      $client->setAccessType('offline');
       $scopes = gauth_google_services_scopes();
       $client->addScope($scopes['oauth2']);
       $client->authenticate($_GET['code']);
-      $account['access_token'] = $client->getAccessToken();
+      $access_token = $client->getAccessToken();
+      if (!empty($access_token) && is_array($access_token)) {
+        $access_token = json_encode($access_token);
+      }
+      $account['access_token'] = $access_token;
 
       $client = new Google_Client();
       $client->setApplicationName("Google OAuth2");
