diff --git a/openstack/identity/v3/endpoints/requests.go b/openstack/identity/v3/endpoints/requests.go
index fbbdf07..7fc4544 100644
--- a/openstack/identity/v3/endpoints/requests.go
+++ b/openstack/identity/v3/endpoints/requests.go
@@ -1,7 +1,6 @@
 package endpoints
 
 import (
-	"net/http"
 	"strconv"
 
 	"github.com/racker/perigee"
@@ -111,16 +110,7 @@
 	}
 
 	u := getListURL(client) + utils.BuildQuery(q)
-	return gophercloud.NewLinkedPager(u, func(next string) (http.Response, error) {
-		r, err := perigee.Request("GET", u, perigee.Options{
-			MoreHeaders: client.Provider.AuthenticatedHeaders(),
-			OkCodes:     []int{200},
-		})
-		if err != nil {
-			return http.Response{}, err
-		}
-		return r.HttpResponse, nil
-	})
+	return gophercloud.NewLinkedPager(client, u)
 }
 
 // Update changes an existing endpoint with new data.
diff --git a/openstack/identity/v3/services/requests.go b/openstack/identity/v3/services/requests.go
index f6cb22d..34df63f 100644
--- a/openstack/identity/v3/services/requests.go
+++ b/openstack/identity/v3/services/requests.go
@@ -1,7 +1,6 @@
 package services
 
 import (
-	"net/http"
 	"strconv"
 
 	"github.com/racker/perigee"
@@ -56,16 +55,7 @@
 	}
 	u := getListURL(client) + utils.BuildQuery(q)
 
-	return gophercloud.NewLinkedPager(u, func(next string) (http.Response, error) {
-		resp, err := perigee.Request("GET", u, perigee.Options{
-			MoreHeaders: client.Provider.AuthenticatedHeaders(),
-			OkCodes:     []int{200},
-		})
-		if err != nil {
-			return http.Response{}, err
-		}
-		return resp.HttpResponse, nil
-	})
+	return gophercloud.NewLinkedPager(client, u)
 }
 
 // Get returns additional information about a service, given its ID.
