diff --git a/cmd/root.go b/cmd/root.go
index 7a4045b9be1d67bcff1b005695d16d1ebc77c2e4..adeed59a417bd81bd893b4bc114afb6b4a062e6a 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -360,10 +360,14 @@ func overrideCluster(envName string, clientConfig clientcmd.ClientConfig, overri
 
 	if _, ok := servers[server]; ok {
 		clusterName := servers[server]
-		log.Debugf("Overwriting --cluster flag with '%s'", clusterName)
-		overrides.Context.Cluster = clusterName
-		log.Debugf("Overwriting --namespace flag with '%s'", env.Namespace)
-		overrides.Context.Namespace = env.Namespace
+		if overrides.Context.Cluster == "" {
+			log.Debugf("Overwriting --cluster flag with '%s'", clusterName)
+			overrides.Context.Cluster = clusterName
+		}
+		if overrides.Context.Namespace == "" {
+			log.Debugf("Overwriting --namespace flag with '%s'", env.Namespace)
+			overrides.Context.Namespace = env.Namespace
+		}
 		return nil
 	}