diff --git a/driver/flag_processing.go b/driver/flag_processing.go
index 0b882467669a6ba97e962a37294e9babc4580dbf..4e7622fe72f2a39dda0d823e875e405225586d48 100644
--- a/driver/flag_processing.go
+++ b/driver/flag_processing.go
@@ -8,6 +8,22 @@ import (
 	"strings"
 )
 
+var legacyDefaultImages = [...]string{
+	defaultImage,
+	"ubuntu-18.04",
+	"ubuntu-16.04",
+	"debian-9",
+}
+
+func isDefaultImageName(imageName string) bool {
+	for _, defaultImage := range legacyDefaultImages {
+		if imageName == defaultImage {
+			return true
+		}
+	}
+	return false
+}
+
 func (d *Driver) setImageArch(arch string) error {
 	switch arch {
 	case "":
@@ -23,7 +39,7 @@ func (d *Driver) setImageArch(arch string) error {
 }
 
 func (d *Driver) verifyImageFlags() error {
-	if d.ImageID != 0 && d.Image != "" && d.Image != defaultImage /* support legacy behaviour */ {
+	if d.ImageID != 0 && d.Image != "" && !isDefaultImageName(d.Image) /* support legacy behaviour */ {
 		return d.flagFailure("--%v and --%v are mutually exclusive", flagImage, flagImageID)
 	} else if d.ImageID != 0 && d.ImageArch != "" {
 		return d.flagFailure("--%v and --%v are mutually exclusive", flagImageArch, flagImageID)