diff --git a/openstack/compute/v2/flavors/requests.go b/openstack/compute/v2/flavors/requests.go
index 4d67d04..47eb172 100644
--- a/openstack/compute/v2/flavors/requests.go
+++ b/openstack/compute/v2/flavors/requests.go
@@ -33,14 +33,14 @@
 		return FlavorPage{pagination.LinkedPageBase{LastHTTPResponse: r}}
 	}
 
-	return pagination.NewPager(client, getListURL(client, lfo), createPage)
+	return pagination.NewPager(client, listURL(client, lfo), createPage)
 }
 
 // Get instructs OpenStack to provide details on a single flavor, identified by its ID.
 // Use ExtractFlavor to convert its result into a Flavor.
 func Get(client *gophercloud.ServiceClient, id string) GetResult {
 	var gr GetResult
-	gr.Err = perigee.Get(getFlavorURL(client, id), perigee.Options{
+	gr.Err = perigee.Get(flavorURL(client, id), perigee.Options{
 		Results:     &gr.Resp,
 		MoreHeaders: client.Provider.AuthenticatedHeaders(),
 	})
diff --git a/openstack/compute/v2/flavors/urls.go b/openstack/compute/v2/flavors/urls.go
index 0e2d7c2..9e5b562 100644
--- a/openstack/compute/v2/flavors/urls.go
+++ b/openstack/compute/v2/flavors/urls.go
@@ -8,7 +8,7 @@
 	"github.com/rackspace/gophercloud"
 )
 
-func getListURL(client *gophercloud.ServiceClient, lfo ListFilterOptions) string {
+func listURL(client *gophercloud.ServiceClient, lfo ListFilterOptions) string {
 	v := url.Values{}
 	if lfo.ChangesSince != "" {
 		v.Set("changes-since", lfo.ChangesSince)
@@ -32,6 +32,6 @@
 	return client.ServiceURL("flavors", "detail") + tail
 }
 
-func getFlavorURL(client *gophercloud.ServiceClient, id string) string {
+func flavorURL(client *gophercloud.ServiceClient, id string) string {
 	return client.ServiceURL("flavors", id)
 }
