diff --git a/driver.go b/driver.go
index 939fe04b096733680a6b65714b98b4d2c9fa2691..80bda3692f71b48e247be0d6a9b702622359064a 100644
--- a/driver.go
+++ b/driver.go
@@ -522,9 +522,10 @@ func (d *Driver) getServerHandle() (*hcloud.Server, error) {
 
 	srv, _, err := d.getClient().Server.GetByID(context.Background(), d.ServerID)
 	if err != nil {
-		d.cachedServer = srv
 		return nil, errors.Wrap(err, "could not get client by ID")
 	}
+
+	d.cachedServer = srv
 	return srv, nil
 }