diff --git a/acceptance/00-authentication.go b/acceptance/00-authentication.go
index 10ed022..2374efb 100644
--- a/acceptance/00-authentication.go
+++ b/acceptance/00-authentication.go
@@ -1,28 +1,28 @@
 package main
 
 import (
-  "github.com/rackspace/gophercloud"
-  "strings"
-  "fmt"
-  "os"
+	"fmt"
+	"github.com/rackspace/gophercloud"
+	"os"
+	"strings"
 )
 
 func main() {
-  provider, username, _, apiKey := getCredentials()
+	provider, username, _, apiKey := getCredentials()
 
-  if !strings.Contains(provider, "rackspace") {
-    fmt.Fprintf(os.Stdout, "Skipping test because provider doesn't support API_KEYs\n")
-    return
-  }
+	if !strings.Contains(provider, "rackspace") {
+		fmt.Fprintf(os.Stdout, "Skipping test because provider doesn't support API_KEYs\n")
+		return
+	}
 
-  _, err := gophercloud.Authenticate(
-    provider,
-    gophercloud.AuthOptions{
-      Username: username,
-      ApiKey: apiKey,
-    },
-  )
-  if err != nil {
-    panic(err)
-  }
+	_, err := gophercloud.Authenticate(
+		provider,
+		gophercloud.AuthOptions{
+			Username: username,
+			ApiKey:   apiKey,
+		},
+	)
+	if err != nil {
+		panic(err)
+	}
 }
diff --git a/acceptance/libargs.go b/acceptance/libargs.go
index bc34d86..78fde06 100644
--- a/acceptance/libargs.go
+++ b/acceptance/libargs.go
@@ -15,7 +15,7 @@
 	provider = os.Getenv("SDK_PROVIDER")
 	username = os.Getenv("SDK_USERNAME")
 	password = os.Getenv("SDK_PASSWORD")
-	apiKey   = os.Getenv("SDK_API_KEY")
+	apiKey = os.Getenv("SDK_API_KEY")
 
 	if (provider == "") || (username == "") || (password == "") {
 		fmt.Fprintf(os.Stderr, "One or more of the following environment variables aren't set:\n")
