return slice (!map) from ExtractNetworkAddresses
diff --git a/acceptance/openstack/compute/v2/servers_test.go b/acceptance/openstack/compute/v2/servers_test.go
index ec63c12..d77d34a 100644
--- a/acceptance/openstack/compute/v2/servers_test.go
+++ b/acceptance/openstack/compute/v2/servers_test.go
@@ -154,13 +154,13 @@
 
 	pager = servers.ListAddressesByNetwork(client, server.ID, "public")
 	pager.EachPage(func(page pagination.Page) (bool, error) {
-		network, err := servers.ExtractNetworkAddresses(page)
+		addresses, err := servers.ExtractNetworkAddresses(page)
 		if err != nil {
 			return false, err
 		}
 
-		for n, a := range network {
-			t.Logf("%s: %+v\n", n, a)
+		for _, a := range addresses {
+			t.Logf("%+v\n", a)
 		}
 		return true, nil
 	})
diff --git a/openstack/compute/v2/servers/fixtures.go b/openstack/compute/v2/servers/fixtures.go
index baa756f..e47bc0e 100644
--- a/openstack/compute/v2/servers/fixtures.go
+++ b/openstack/compute/v2/servers/fixtures.go
@@ -619,16 +619,14 @@
 }
 
 // ListNetworkAddressesExpected represents an expected repsonse from a ListAddressesByNetwork request.
-var ListNetworkAddressesExpected = map[string][]Address{
-	"public": []Address{
-		Address{
-			Version: 4,
-			Address: "80.56.136.39",
-		},
-		Address{
-			Version: 6,
-			Address: "2001:4800:790e:510:be76:4eff:fe04:82a8",
-		},
+var ListNetworkAddressesExpected = []Address{
+	Address{
+		Version: 4,
+		Address: "50.56.176.35",
+	},
+	Address{
+		Version: 6,
+		Address: "2001:4800:780e:510:be76:4eff:fe04:84a8",
 	},
 }
 
diff --git a/openstack/compute/v2/servers/requests_test.go b/openstack/compute/v2/servers/requests_test.go
index abfdec7..3527428 100644
--- a/openstack/compute/v2/servers/requests_test.go
+++ b/openstack/compute/v2/servers/requests_test.go
@@ -302,8 +302,8 @@
 		actual, err := ExtractNetworkAddresses(page)
 		th.AssertNoErr(t, err)
 
-		if len(actual) != 1 {
-			t.Fatalf("Expected 1 network, got %d", len(actual))
+		if len(actual) != 2 {
+			t.Fatalf("Expected 2 addresses, got %d", len(actual))
 		}
 		th.CheckDeepEquals(t, expected, actual)
 
diff --git a/openstack/compute/v2/servers/results.go b/openstack/compute/v2/servers/results.go
index 1fe6b4a..e2be6ba 100644
--- a/openstack/compute/v2/servers/results.go
+++ b/openstack/compute/v2/servers/results.go
@@ -328,8 +328,8 @@
 }
 
 // ExtractNetworkAddresses interprets the results of a single page from a ListAddressesByNetwork() call,
-// producing a map of addresses.
-func ExtractNetworkAddresses(page pagination.Page) (map[string][]Address, error) {
+// producing a slice of addresses.
+func ExtractNetworkAddresses(page pagination.Page) ([]Address, error) {
 	casted := page.(NetworkAddressPage).Body
 
 	var response map[string][]Address
@@ -338,5 +338,10 @@
 		return nil, err
 	}
 
-	return response, err
+	var key string
+	for k := range response {
+		key = k
+	}
+
+	return response[key], err
 }
diff --git a/rackspace/compute/v2/servers/delegate.go b/rackspace/compute/v2/servers/delegate.go
index a0cc05b..8adfed5 100644
--- a/rackspace/compute/v2/servers/delegate.go
+++ b/rackspace/compute/v2/servers/delegate.go
@@ -82,6 +82,6 @@
 }
 
 // ExtractNetworkAddresses interprets the results of a single page from a ListAddressesByNetwork() call, producing a map of Address slices.
-func ExtractNetworkAddresses(page pagination.Page) (map[string][]os.Address, error) {
+func ExtractNetworkAddresses(page pagination.Page) ([]os.Address, error) {
 	return os.ExtractNetworkAddresses(page)
 }
diff --git a/rackspace/compute/v2/servers/delegate_test.go b/rackspace/compute/v2/servers/delegate_test.go
index 5e90a5a..03e7ace 100644
--- a/rackspace/compute/v2/servers/delegate_test.go
+++ b/rackspace/compute/v2/servers/delegate_test.go
@@ -170,8 +170,8 @@
 		actual, err := ExtractNetworkAddresses(page)
 		th.AssertNoErr(t, err)
 
-		if len(actual) != 1 {
-			t.Fatalf("Expected 1 network, got %d", len(actual))
+		if len(actual) != 2 {
+			t.Fatalf("Expected 2 addresses, got %d", len(actual))
 		}
 		th.CheckDeepEquals(t, expected, actual)