diff --git a/swiftclient/client.py b/swiftclient/client.py
index 8844a534..4367fdc3 100644
--- a/swiftclient/client.py
+++ b/swiftclient/client.py
@@ -457,6 +457,7 @@ def get_auth_keystone(auth_url, user, key, os_options, **kwargs):
         _ksclient = ksclient.Client(
             username=user,
             password=key,
+            token=os_options.get('auth_token'),
             tenant_name=os_options.get('tenant_name'),
             tenant_id=os_options.get('tenant_id'),
             user_id=os_options.get('user_id'),
diff --git a/tests/unit/test_swiftclient.py b/tests/unit/test_swiftclient.py
index 5a6cbfaa..95a46a5b 100644
--- a/tests/unit/test_swiftclient.py
+++ b/tests/unit/test_swiftclient.py
@@ -1804,9 +1804,10 @@ class TestConnection(MockHttpTest):
 
         # v2 auth
         timeouts = []
+        os_options = {'tenant_name': 'tenant', 'auth_token': 'meta-token'}
         conn = c.Connection(
             'http://auth.example.com', 'user', 'password', timeout=33.0,
-            os_options=dict(tenant_name='tenant'), auth_version=2.0)
+            os_options=os_options, auth_version=2.0)
         fake_ks = FakeKeystone(endpoint='http://some_url', token='secret')
         with mock.patch('swiftclient.client._import_keystone_client',
                         _make_fake_import_keystone_client(fake_ks)):
@@ -1821,6 +1822,10 @@ class TestConnection(MockHttpTest):
         # check timeout passed to HEAD for account
         self.assertEqual(timeouts, [33.0])
 
+        # check token passed to keystone client
+        self.assertIn('token', fake_ks.calls[0])
+        self.assertEqual('meta-token', fake_ks.calls[0].get('token'))
+
     def test_reset_stream(self):
 
         class LocalContents(object):
diff --git a/tests/unit/utils.py b/tests/unit/utils.py
index 17e07ac4..f8f5e908 100644
--- a/tests/unit/utils.py
+++ b/tests/unit/utils.py
@@ -499,8 +499,8 @@ class FakeKeystone(object):
         self.token = token
 
     class _Client(object):
-        def __init__(self, endpoint, token, **kwargs):
-            self.auth_token = token
+        def __init__(self, endpoint, auth_token, **kwargs):
+            self.auth_token = auth_token
             self.endpoint = endpoint
             self.service_catalog = self.ServiceCatalog(endpoint)
 
@@ -515,8 +515,8 @@ class FakeKeystone(object):
 
     def Client(self, **kwargs):
         self.calls.append(kwargs)
-        self.client = self._Client(endpoint=self.endpoint, token=self.token,
-                                   **kwargs)
+        self.client = self._Client(
+            endpoint=self.endpoint, auth_token=self.token, **kwargs)
         return self.client
 
     class Unauthorized(Exception):