diff --git a/acceptance/12-update-server.go b/acceptance/12-update-server.go
new file mode 100644
index 0000000..203b37d
--- /dev/null
+++ b/acceptance/12-update-server.go
@@ -0,0 +1,44 @@
+package main
+
+import (
+	"fmt"
+	"flag"
+	"github.com/rackspace/gophercloud"
+)
+
+var quiet = flag.Bool("quiet", false, "Quiet mode, for acceptance testing.  $? still indicates errors though.")
+
+func main() {
+	flag.Parse()
+	withIdentity(false, func(acc gophercloud.AccessProvider) {
+		withServerApi(acc, func(servers gophercloud.CloudServersProvider) {
+			log("Creating server")
+			id, err := createServer(servers, "", "", "", "")
+			if err != nil {
+				panic(err)
+			}
+			waitForServerState(servers, id, "ACTIVE")
+			defer servers.DeleteServerById(id)
+
+			log("Updating name of server")
+			newName := randomString("ACPTTEST", 32)
+			newDetails, err := servers.UpdateServer(id, gophercloud.NewServerSettings{
+				Name: newName,
+			})
+			if err != nil {
+				panic(err)
+			}
+			if newDetails.Name != newName {
+				panic("Name change didn't appear to take")
+			}
+
+			log("Done")
+		})
+	})
+}
+
+func log(s string) {
+	if !*quiet {
+		fmt.Println(s)
+	}
+}
