only cache credentials if AllowReauth is set to true
diff --git a/openstack/client.go b/openstack/client.go
index 876df74..55c298c 100644
--- a/openstack/client.go
+++ b/openstack/client.go
@@ -110,8 +110,8 @@
 
 	if options.AllowReauth {
 		client.ReauthFunc = AuthenticateV2
+		client.AuthOptions = options
 	}
-	client.AuthOptions = options
 	client.TokenID = token.ID
 	client.EndpointLocator = func(opts gophercloud.EndpointOpts) (string, error) {
 		return V2EndpointURL(catalog, opts)
@@ -140,8 +140,8 @@
 
 	if options.AllowReauth {
 		client.ReauthFunc = AuthenticateV3
+		client.AuthOptions = options
 	}
-	client.AuthOptions = options
 	client.EndpointLocator = func(opts gophercloud.EndpointOpts) (string, error) {
 		return V3EndpointURL(v3Client, opts)
 	}
diff --git a/provider_client.go b/provider_client.go
index 9dea5af..1eafbd2 100644
--- a/provider_client.go
+++ b/provider_client.go
@@ -64,8 +64,9 @@
 	// UserAgent represents the User-Agent header in the HTTP request.
 	UserAgent UserAgent
 
-	// AuthOptions is the user-provided options for authentication. These will be
-	// passed to ReauthFunc for re-authenticating if the user requests it.
+	// AuthOptions is the user-provided options for authentication. This will be empty
+	// unless gophercloud.AuthOption.AllowReauth is set to true. This will be
+	// passed to ReauthFunc for re-authenticating when a user's token expires.
 	AuthOptions AuthOptions
 
 	// ReauthFunc is the function used to re-authenticate the user if the request
diff --git a/rackspace/client.go b/rackspace/client.go
index 4892802..003683f 100644
--- a/rackspace/client.go
+++ b/rackspace/client.go
@@ -99,8 +99,8 @@
 
 	if options.AllowReauth {
 		client.ReauthFunc = AuthenticateV2
+		client.AuthOptions = options
 	}
-	client.AuthOptions = options
 	client.TokenID = token.ID
 	client.EndpointLocator = func(opts gophercloud.EndpointOpts) (string, error) {
 		return os.V2EndpointURL(catalog, opts)