Adjust callers to match.
diff --git a/openstack/identity/v3/services/requests.go b/openstack/identity/v3/services/requests.go
index 34df63f..7bc4a82 100644
--- a/openstack/identity/v3/services/requests.go
+++ b/openstack/identity/v3/services/requests.go
@@ -55,7 +55,15 @@
 	}
 	u := getListURL(client) + utils.BuildQuery(q)
 
-	return gophercloud.NewLinkedPager(client, u)
+	countPage := func(p gophercloud.Page) (int, error) {
+		services, err := ExtractServices(p)
+		if err != nil {
+			return 0, err
+		}
+		return len(services), nil
+	}
+
+	return gophercloud.NewLinkedPager(client, u, countPage)
 }
 
 // Get returns additional information about a service, given its ID.