diff --git a/acceptance/openstack/compute/01-servers.go b/acceptance/openstack/compute/01-servers.go
index 9c1ef1d..40ad5ac 100644
--- a/acceptance/openstack/compute/01-servers.go
+++ b/acceptance/openstack/compute/01-servers.go
@@ -2,11 +2,11 @@
 
 import (
 	"fmt"
-	"os"
-	"text/tabwriter"
 	"github.com/rackspace/gophercloud/openstack/compute/servers"
 	"github.com/rackspace/gophercloud/openstack/identity"
 	"github.com/rackspace/gophercloud/openstack/utils"
+	"os"
+	"text/tabwriter"
 )
 
 func main() {
@@ -30,12 +30,12 @@
 		panic(err)
 	}
 
-	region := os.Getenv("OS_REGION_NAME")
-
-	n := 0
 	w := new(tabwriter.Writer)
 	w.Init(os.Stdout, 2, 8, 2, ' ', 0)
-	fmt.Fprintln(w, "ID\tName\tRegion\tIPv4\tIPv6\t")
+	fmt.Fprintln(w, "ID\tRegion\tName\tIPv4\tIPv6\t")
+
+	region := os.Getenv("OS_REGION_NAME")
+	n := 0
 	for _, ep := range eps {
 		if (region != "") && (region != ep.Region) {
 			continue
@@ -63,7 +63,6 @@
 	fmt.Printf("--------\n%d servers listed.\n", n)
 }
 
-
 func findAllComputeEndpoints(sc *identity.ServiceCatalog) ([]identity.Endpoint, error) {
 	ces, err := sc.CatalogEntries()
 	if err != nil {
@@ -78,4 +77,3 @@
 
 	return nil, fmt.Errorf("Compute endpoint not found.")
 }
-
diff --git a/acceptance/openstack/compute/02-images.go b/acceptance/openstack/compute/02-images.go
index e88556c..8945434 100644
--- a/acceptance/openstack/compute/02-images.go
+++ b/acceptance/openstack/compute/02-images.go
@@ -2,10 +2,10 @@
 
 import (
 	"fmt"
-	"os"
 	"github.com/rackspace/gophercloud/openstack/compute/images"
 	"github.com/rackspace/gophercloud/openstack/identity"
 	"github.com/rackspace/gophercloud/openstack/utils"
+	"os"
 	"text/tabwriter"
 )
 
@@ -37,12 +37,12 @@
 	region := os.Getenv("OS_REGION_NAME")
 	n := 0
 	for _, ep := range eps {
-		client := images.NewClient(ep.PublicURL, a, ao)
-
 		if (region != "") && (region != ep.Region) {
 			continue
 		}
 
+		client := images.NewClient(ep.PublicURL, a, ao)
+
 		listResults, err := images.List(client)
 		if err != nil {
 			panic(err)
@@ -63,7 +63,6 @@
 	fmt.Printf("--------\n%d images listed.\n", n)
 }
 
-
 func findAllComputeEndpoints(sc *identity.ServiceCatalog) ([]identity.Endpoint, error) {
 	ces, err := sc.CatalogEntries()
 	if err != nil {
@@ -78,4 +77,3 @@
 
 	return nil, fmt.Errorf("Compute endpoint not found.")
 }
-
