diff --git a/openstack/identity/v3/services/requests.go b/openstack/identity/v3/services/requests.go
index 8c50054..e261192 100644
--- a/openstack/identity/v3/services/requests.go
+++ b/openstack/identity/v3/services/requests.go
@@ -68,8 +68,8 @@
 	return &resp, nil
 }
 
-// Info returns additional information about a service, given its ID.
-func Info(client *gophercloud.ServiceClient, serviceID string) (*Service, error) {
+// Get returns additional information about a service, given its ID.
+func Get(client *gophercloud.ServiceClient, serviceID string) (*Service, error) {
 	var resp response
 	_, err := perigee.Request("GET", getServiceURL(client, serviceID), perigee.Options{
 		MoreHeaders: client.Provider.AuthenticatedHeaders(),
diff --git a/openstack/identity/v3/services/requests_test.go b/openstack/identity/v3/services/requests_test.go
index ef8c481..9f43db3 100644
--- a/openstack/identity/v3/services/requests_test.go
+++ b/openstack/identity/v3/services/requests_test.go
@@ -128,7 +128,7 @@
 	}
 }
 
-func TestInfoSuccessful(t *testing.T) {
+func TestGetSuccessful(t *testing.T) {
 	testhelper.SetupHTTP()
 	defer testhelper.TeardownHTTP()
 
@@ -151,7 +151,7 @@
 
 	client := serviceClient()
 
-	result, err := Info(client, "12345")
+	result, err := Get(client, "12345")
 	if err != nil {
 		t.Fatalf("Error fetching service information: %v", err)
 	}
diff --git a/openstack/identity/v3/tokens/requests.go b/openstack/identity/v3/tokens/requests.go
index 7bdb548..ab4ae05 100644
--- a/openstack/identity/v3/tokens/requests.go
+++ b/openstack/identity/v3/tokens/requests.go
@@ -248,8 +248,8 @@
 	return &result, nil
 }
 
-// Info validates and retrieves information about another token.
-func Info(c *gophercloud.ServiceClient, token string) (*TokenCreateResult, error) {
+// Get validates and retrieves information about another token.
+func Get(c *gophercloud.ServiceClient, token string) (*TokenCreateResult, error) {
 	var result TokenCreateResult
 
 	response, err := perigee.Request("GET", getTokenURL(c), perigee.Options{
diff --git a/openstack/identity/v3/tokens/requests_test.go b/openstack/identity/v3/tokens/requests_test.go
index 97690a6..989c1c4 100644
--- a/openstack/identity/v3/tokens/requests_test.go
+++ b/openstack/identity/v3/tokens/requests_test.go
@@ -389,7 +389,7 @@
 	authTokenPostErr(t, options, scope, false, ErrScopeEmpty)
 }
 
-func TestInfoRequest(t *testing.T) {
+func TestGetRequest(t *testing.T) {
 	testhelper.SetupHTTP()
 	defer testhelper.TeardownHTTP()
 
@@ -413,7 +413,7 @@
 		`)
 	})
 
-	result, err := Info(&client, "abcdef12345")
+	result, err := Get(&client, "abcdef12345")
 	if err != nil {
 		t.Errorf("Info returned an error: %v", err)
 	}
