diff --git a/driver.go b/driver.go
index 80bda3692f71b48e247be0d6a9b702622359064a..76f5d82f46ae73e595af53cea18362ceca578386 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")
+			}
 		}
 	}