diff --git a/metropolis/node/core/rpc/client.go b/metropolis/node/core/rpc/client.go
index 10d2545..6f113e2 100644
--- a/metropolis/node/core/rpc/client.go
+++ b/metropolis/node/core/rpc/client.go
@@ -13,6 +13,7 @@
 
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/credentials"
+	"google.golang.org/grpc/status"
 	"google.golang.org/grpc/test/bufconn"
 
 	"source.monogon.dev/metropolis/node/core/identity"
@@ -86,7 +87,10 @@
 func RetrieveOwnerCertificate(ctx context.Context, aaa apb.AAAClient, private ed25519.PrivateKey) (*tls.Certificate, error) {
 	srv, err := aaa.Escrow(ctx)
 	if err != nil {
-		return nil, fmt.Errorf("when opening Escrow RPC: %w", err)
+		if st, ok := status.FromError(err); ok {
+			return nil, status.Errorf(st.Code(), "Escrow call failed: %s", st.Message())
+		}
+		return nil, err
 	}
 	if err := srv.Send(&apb.EscrowFromClient{
 		Parameters: &apb.EscrowFromClient_Parameters{
diff --git a/metropolis/test/launch/cluster/BUILD.bazel b/metropolis/test/launch/cluster/BUILD.bazel
index abcdc07..8e829df 100644
--- a/metropolis/test/launch/cluster/BUILD.bazel
+++ b/metropolis/test/launch/cluster/BUILD.bazel
@@ -28,6 +28,8 @@
         "@com_github_cenkalti_backoff_v4//:go_default_library",
         "@com_github_grpc_ecosystem_go_grpc_middleware//retry:go_default_library",
         "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//codes:go_default_library",
+        "@org_golang_google_grpc//status:go_default_library",
         "@org_golang_google_protobuf//proto:go_default_library",
         "@org_uber_go_multierr//:go_default_library",
     ],
diff --git a/metropolis/test/launch/cluster/cluster.go b/metropolis/test/launch/cluster/cluster.go
index bd3a76a..8cc0a48 100644
--- a/metropolis/test/launch/cluster/cluster.go
+++ b/metropolis/test/launch/cluster/cluster.go
@@ -24,6 +24,8 @@
 	grpcretry "github.com/grpc-ecosystem/go-grpc-middleware/retry"
 	"go.uber.org/multierr"
 	"google.golang.org/grpc"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/status"
 	"google.golang.org/protobuf/proto"
 
 	"source.monogon.dev/metropolis/node"
@@ -240,7 +242,7 @@
 // cluster.
 func getNodes(ctx context.Context, mgmt apb.ManagementClient) ([]*apb.Node, error) {
 	var res []*apb.Node
-	bo := backoff.NewExponentialBackOff()
+	bo := backoff.WithContext(backoff.NewExponentialBackOff(), ctx)
 	err := backoff.Retry(func() error {
 		res = nil
 		srvN, err := mgmt.GetNodes(ctx, &apb.GetNodesRequest{})
@@ -416,7 +418,12 @@
 	var cert *tls.Certificate
 	err = backoff.Retry(func() error {
 		cert, err = rpc.RetrieveOwnerCertificate(ctxT, aaa, InsecurePrivateKey)
-		return err
+		if st, ok := status.FromError(err); ok {
+			if st.Code() == codes.Unavailable {
+				return err
+			}
+		}
+		return backoff.Permanent(err)
 	}, backoff.WithContext(backoff.NewExponentialBackOff(), ctxT))
 	if err != nil {
 		ctxC()
