diff --git a/driver.go b/driver.go
index 939fe04b096733680a6b65714b98b4d2c9fa2691..f6902f58c78376ae735692750441c1044ca9f64c 100644
--- a/driver.go
+++ b/driver.go
@@ -341,10 +341,14 @@ func (d *Driver) Remove() error {
 			return errors.Wrap(err, "could not get server handle")
 		}
 
-		log.Infof(" -> Destroying server %s[%d] in...", srv.Name, srv.ID)
-
-		if _, err := d.getClient().Server.Delete(context.Background(), srv); err != nil {
-			return errors.Wrap(err, "could not delete server")
+		if srv == nil {
+			log.Infof(" -> Server does not exist anymore")
+		} else {
+			log.Infof(" -> Destroying server %s[%d] in...", srv.Name, srv.ID)
+
+			if _, err := d.getClient().Server.Delete(context.Background(), srv); err != nil {
+				return errors.Wrap(err, "could not delete server")
+			}
 		}
 	}