diff --git a/src/slaunch/opt.c b/src/slaunch/opt.c
index 04d452dc1678f47538c2c4f3f21e725f2eafa261..e742c486f8f6d0ef442fa253176a94703b64db3e 100644
--- a/src/slaunch/opt.c
+++ b/src/slaunch/opt.c
@@ -772,7 +772,6 @@ static void
 _process_env_var(env_vars_t *e, const char *val)
 {
 	char *end = NULL;
-	task_dist_states_t dt;
 
 	debug2("now processing env var %s=%s", e->var, val);
 
@@ -819,15 +818,13 @@ _process_env_var(env_vars_t *e, const char *val)
 		break;
 
 	case OPT_DISTRIB:
-		if (strcmp(val, "unknown") == 0)
-			break;	/* ignore it, passed from salloc */
 	        opt.plane_size = 0;
-		dt = _verify_dist_type(val, &opt.plane_size);
-		if (dt == SLURM_DIST_UNKNOWN) {
-			error("\"%s=%s\" -- invalid distribution type. " 
-			      "ignoring...", e->var, val);
-		} else 
-			opt.distribution = dt;
+		opt.distribution = _verify_dist_type(val, &opt.plane_size);
+		if (opt.distribution == SLURM_DIST_UNKNOWN) {
+			error("\"%s=%s\" -- invalid distribution type. ",
+			      e->var, val);
+			exit(1);
+		}
 		break;
 
 	case OPT_CPU_BIND:
@@ -1063,7 +1060,7 @@ void set_options(const int argc, char **argv)
 			xfree(opt.nodelist_byid);
 			opt.nodelist_byid = xstrdup(optarg);
 			break;
-		case (int)'m':
+		case 'm':
 			opt.plane_size = 0;
 			opt.distribution = _verify_dist_type(optarg, 
 							     &opt.plane_size);
diff --git a/src/slaunch/slaunch.c b/src/slaunch/slaunch.c
index ab3082e8d8f162625da29b7e54481ad826084b7b..af6496e99fe3413ccc9c0032b5aca6985b71c9f9 100644
--- a/src/slaunch/slaunch.c
+++ b/src/slaunch/slaunch.c
@@ -183,25 +183,13 @@ int slaunch(int argc, char **argv)
 	step_req.relative = opt.relative;
 	switch (opt.distribution) {
 	case SLURM_DIST_BLOCK:
-		step_req.task_dist = SLURM_DIST_BLOCK;
-		break;
 	case SLURM_DIST_ARBITRARY:
-		step_req.task_dist = SLURM_DIST_ARBITRARY;
-		break;
 	case SLURM_DIST_CYCLIC:
-		step_req.task_dist = SLURM_DIST_CYCLIC;
-		break;
 	case SLURM_DIST_CYCLIC_CYCLIC:
-		step_req.task_dist = SLURM_DIST_CYCLIC_CYCLIC;
-		break;
 	case SLURM_DIST_CYCLIC_BLOCK:
-		step_req.task_dist = SLURM_DIST_CYCLIC_BLOCK;
-		break;
 	case SLURM_DIST_BLOCK_CYCLIC:
-		step_req.task_dist = SLURM_DIST_BLOCK_CYCLIC;
-		break;
 	case SLURM_DIST_BLOCK_BLOCK:
-		step_req.task_dist = SLURM_DIST_BLOCK_BLOCK;
+		step_req.task_dist = opt.distribution;
 		break;
 	case SLURM_DIST_PLANE:
 		step_req.task_dist = SLURM_DIST_PLANE;