diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go
index a9fdf082d4..9182a8ff85 100644
--- a/cmd/minikube/cmd/start.go
+++ b/cmd/minikube/cmd/start.go
@@ -206,14 +206,24 @@ func runStart(cmd *cobra.Command, args []string) {
 		}
 	}
 
-	if existing != nil && existing.KubernetesConfig.ContainerRuntime == "crio" && driver.IsKIC(existing.Driver) {
-		// Stop and start again if it's crio because it's broken above v1.17.3
-		out.WarningT("Due to issues with CRI-O post v1.17.3, we need to restart your cluster.")
-		out.WarningT("See details at https://github.com/kubernetes/minikube/issues/8861")
-		stopProfile(existing.Name)
-		starter, err = provisionWithDriver(cmd, ds, existing)
-		if err != nil {
-			exit.Error(reason.GuestProvision, "error provisioning host", err)
+	if existing != nil && driver.IsKIC(existing.Driver) {
+		if viper.GetBool(createMount) {
+			mount := viper.GetString(mountString)
+			if len(existing.ContainerVolumeMounts) != 1 || existing.ContainerVolumeMounts[0] != mount {
+				out.WarningT("Due to the limitations of %s, it's not possible to change mount configuration of an existing cluster.", out.V{"driver": existing.Driver})
+				out.WarningT("If necessary delete and recreate the cluster, proceeding with old mount configuration")
+			}
+		}
+
+		if existing.KubernetesConfig.ContainerRuntime == "crio" {
+			// Stop and start again if it's crio because it's broken above v1.17.3
+			out.WarningT("Due to issues with CRI-O post v1.17.3, we need to restart your cluster.")
+			out.WarningT("See details at https://github.com/kubernetes/minikube/issues/8861")
+			stopProfile(existing.Name)
+			starter, err = provisionWithDriver(cmd, ds, existing)
+			if err != nil {
+				exit.Error(reason.GuestProvision, "error provisioning host", err)
+			}
 		}
 	}