diff --git a/cmd/minikube/cmd/node_add.go b/cmd/minikube/cmd/node_add.go
index a450684ec3..1e28103142 100644
--- a/cmd/minikube/cmd/node_add.go
+++ b/cmd/minikube/cmd/node_add.go
@@ -23,6 +23,7 @@ import (
 	"github.com/spf13/pflag"
 	"github.com/spf13/viper"
 	"k8s.io/minikube/pkg/minikube/config"
+	"k8s.io/minikube/pkg/minikube/driver"
 	"k8s.io/minikube/pkg/minikube/exit"
 	"k8s.io/minikube/pkg/minikube/node"
 	"k8s.io/minikube/pkg/minikube/out"
@@ -43,6 +44,10 @@ var nodeAddCmd = &cobra.Command{
 			exit.WithError("Error getting config", err)
 		}
 
+		if driver.BareMetal(cc.Driver) {
+			out.ErrT(out.FailureType, "none driver does not support multi-node clusters")
+		}
+
 		name := fmt.Sprintf("m%02d", len(cc.Nodes)+1)
 
 		out.T(out.Happy, "Adding node {{.name}} to cluster {{.cluster}}", out.V{"name": name, "cluster": profile})
diff --git a/pkg/minikube/bootstrapper/kubeadm/kubeadm.go b/pkg/minikube/bootstrapper/kubeadm/kubeadm.go
index 6bd2403b71..0863688ea8 100644
--- a/pkg/minikube/bootstrapper/kubeadm/kubeadm.go
+++ b/pkg/minikube/bootstrapper/kubeadm/kubeadm.go
@@ -276,10 +276,11 @@ func (k *Bootstrapper) WaitForNode(cfg config.ClusterConfig, n config.Node, time
 	port := n.Port
 	if driver.IsKIC(cfg.Driver) {
 		ip = oci.DefaultBindIPV4
-		port, err := oci.ForwardedPort(cfg.Driver, driver.MachineName(cfg, n), port)
+		p, err := oci.ForwardedPort(cfg.Driver, driver.MachineName(cfg, n), port)
 		if err != nil {
 			return errors.Wrapf(err, "get host-bind port %d for container %s", port, cfg.Name)
 		}
+		port = p
 	}
 	if n.ControlPlane {
 		if err := kverify.APIServerIsRunning(start, ip, port, timeout); err != nil {