diff --git a/acceptance/04-create-server.go b/acceptance/04-create-server.go
index 9377b75..06c541b 100644
--- a/acceptance/04-create-server.go
+++ b/acceptance/04-create-server.go
@@ -46,7 +46,7 @@
 		panic(err)
 	}
 
-	err = createServer(servers, *imageRef, *flavorRef, *serverName, *adminPass)
+	_, err = createServer(servers, *imageRef, *flavorRef, *serverName, *adminPass)
 	if err != nil {
 		panic(err)
 	}
diff --git a/acceptance/09-change-admin-password.go b/acceptance/09-change-admin-password.go
index 4804726..2ce7bbe 100644
--- a/acceptance/09-change-admin-password.go
+++ b/acceptance/09-change-admin-password.go
@@ -4,6 +4,7 @@
 	"flag"
 	"fmt"
 	"github.com/rackspace/gophercloud"
+	"time"
 )
 
 var quiet = flag.Bool("quiet", false, "Quiet mode, for acceptance testing.  $? still indicates errors though.")
@@ -14,14 +15,6 @@
 	provider, username, password := getCredentials()
 	flag.Parse()
 
-	if *serverId == "" {
-		panic("Server ID expected [use -i option]")
-	}
-
-	if *newPass == "" {
-		panic("Password expected [use -p option]")
-	}
-
 	acc, err := gophercloud.Authenticate(
 		provider,
 		gophercloud.AuthOptions{
@@ -43,6 +36,32 @@
 		panic(err)
 	}
 
+	// If user doesn't explicitly provide a server ID, create one dynamically.
+	if *serverId == "" {
+		var err error
+		*serverId, err = createServer(api, "", "", "", "")
+		if err != nil {
+			panic(err)
+		}
+
+		// Wait for server to finish provisioning.
+		for {
+			s, err := api.ServerById(*serverId)
+			if err != nil {
+				panic(err)
+			}
+			if s.Status == "ACTIVE" {
+				break
+			}
+			time.Sleep(10 * time.Second)
+		}
+	}
+
+	// If no password is provided, create one dynamically.
+	if *newPass == "" {
+		*newPass = randomString("", 16)
+	}
+
 	err = api.SetAdminPassword(*serverId, *newPass)
 	if err != nil {
 		panic(err)
diff --git a/acceptance/libargs.go b/acceptance/libargs.go
index 99d128f..405938a 100644
--- a/acceptance/libargs.go
+++ b/acceptance/libargs.go
@@ -92,7 +92,7 @@
 // A blank admin password will cause a password to be automatically generated; however,
 // at present no means of recovering this password exists, as no acceptance tests yet require
 // this data.
-func createServer(servers gophercloud.CloudServersProvider, imageRef, flavorRef, name, adminPass string) error {
+func createServer(servers gophercloud.CloudServersProvider, imageRef, flavorRef, name, adminPass string) (string, error) {
 	if imageRef == "" {
 		imageRef = aSuitableImage(servers)
 	}
@@ -109,12 +109,16 @@
 		name = fmt.Sprintf("ACPTTEST--%s", name)
 	}
 
-	_, err := servers.CreateServer(gophercloud.NewServer{
+	newServer, err := servers.CreateServer(gophercloud.NewServer{
 		Name:      name,
 		ImageRef:  imageRef,
 		FlavorRef: flavorRef,
 		AdminPass: adminPass,
 	})
 
-	return err
+	if err != nil {
+		return "", err
+	}
+
+	return newServer.Id, nil
 }
