diff --git a/acceptance/03-get-server-details.go b/acceptance/03-get-server-details.go
index ca00e5e..eae1775 100644
--- a/acceptance/03-get-server-details.go
+++ b/acceptance/03-get-server-details.go
@@ -4,6 +4,8 @@
 	"flag"
 	"fmt"
 	"github.com/rackspace/gophercloud"
+	"os"
+	"github.com/racker/perigee"
 )
 
 var id = flag.String("i", "", "Server ID to get info on.  Defaults to first server in your account if unspecified.")
@@ -13,6 +15,7 @@
 func main() {
 	flag.Parse()
 
+	resultCode := 0
 	withIdentity(false, func(auth gophercloud.AccessProvider) {
 		withServerApi(auth, func(servers gophercloud.CloudServersProvider) {
 			var (
@@ -79,7 +82,26 @@
 				}
 			}
 		})
+
+		// Negative test -- We should absolutely never panic for a server that doesn't exist.
+		withServerApi(auth, func(servers gophercloud.CloudServersProvider) {
+			_, err := servers.ServerById(randomString("garbage", 32))
+			if err == nil {
+				fmt.Printf("Expected a 404 response when looking for a server known not to exist\n")
+				resultCode = 1
+			}
+			perigeeError, ok := err.(*perigee.UnexpectedResponseCodeError)
+			if !ok {
+				fmt.Printf("Unexpected error type\n")
+				resultCode = 1
+			} else {
+				if perigeeError.Actual != 404 {
+					fmt.Printf("Expected a 404 error code\n")
+				}
+			}
+		})
 	})
+	os.Exit(resultCode)
 }
 
 // locateAServer queries the set of servers owned by the user.  If at least one
