diff --git a/openstack/compute/v2/servers/requests.go b/openstack/compute/v2/servers/requests.go
index e2875e3..462525a 100644
--- a/openstack/compute/v2/servers/requests.go
+++ b/openstack/compute/v2/servers/requests.go
@@ -8,15 +8,15 @@
 	"github.com/rackspace/gophercloud/pagination"
 )
 
-// ListResult abstracts the raw results of making a List() request against the API.
+// ListPage abstracts the raw results of making a List() request against the API.
 // As OpenStack extensions may freely alter the response bodies of structures returned to the client, you may only safely access the
 // data provided through the ExtractServers call.
-type ListResult struct {
+type ListPage struct {
 	pagination.MarkerPageBase
 }
 
 // IsEmpty returns true if a page contains no Server results.
-func (page ListResult) IsEmpty() (bool, error) {
+func (page ListPage) IsEmpty() (bool, error) {
 	servers, err := ExtractServers(page)
 	if err != nil {
 		return true, err
@@ -25,7 +25,7 @@
 }
 
 // LastMarker returns the ID of the final server on the current page.
-func (page ListResult) LastMarker() (string, error) {
+func (page ListPage) LastMarker() (string, error) {
 	servers, err := ExtractServers(page)
 	if err != nil {
 		return "", err
@@ -44,7 +44,7 @@
 // List makes a request against the API to list servers accessible to you.
 func List(client *gophercloud.ServiceClient) pagination.Pager {
 	createPage := func(r pagination.LastHTTPResponse) pagination.Page {
-		p := ListResult{pagination.MarkerPageBase{LastHTTPResponse: r}}
+		p := ListPage{pagination.MarkerPageBase{LastHTTPResponse: r}}
 		p.MarkerPageBase.Owner = p
 		return p
 	}
diff --git a/openstack/compute/v2/servers/servers.go b/openstack/compute/v2/servers/servers.go
index 865c7d1..e2352ce 100644
--- a/openstack/compute/v2/servers/servers.go
+++ b/openstack/compute/v2/servers/servers.go
@@ -64,7 +64,7 @@
 
 // ExtractServers interprets the results of a single page from a List() call, producing a slice of Server entities.
 func ExtractServers(page pagination.Page) ([]Server, error) {
-	casted := page.(ListResult).Body
+	casted := page.(ListPage).Body
 	var servers []Server
 	err := mapstructure.Decode(servers, casted)
 	return servers, err
