diff --git a/src/api/step_launch.c b/src/api/step_launch.c
index f4543927762892ebcea1d7b280bab6296fb721cc..2e3b7d280fdd2620a2dc82cade3d7daf91a9cfac 100644
--- a/src/api/step_launch.c
+++ b/src/api/step_launch.c
@@ -121,7 +121,10 @@ void slurm_step_launch_params_t_init (slurm_step_launch_params_t *ptr)
 	ptr->buffered_stdio = true;
 	memcpy(&ptr->local_fds, &fds, sizeof(fds));
 	ptr->gid = getgid();
-	ptr->acctg_freq = (uint16_t) NO_VAL;
+	ptr->acctg_freq  = (uint16_t) NO_VAL;
+	ptr->max_cores   = 0xffff;
+	ptr->max_sockets = 0xffff;
+	ptr->max_threads = 0xffff;
 }
 
 /*
diff --git a/src/plugins/task/affinity/dist_tasks.c b/src/plugins/task/affinity/dist_tasks.c
index d0f700f776a7daeb63dc77e1b5fa780b8b115d1e..c99b2e7f1774d56016aaa650aa86acdee8c4ff91 100644
--- a/src/plugins/task/affinity/dist_tasks.c
+++ b/src/plugins/task/affinity/dist_tasks.c
@@ -228,7 +228,7 @@ void batch_bind(batch_job_launch_msg_t *req)
 		info("task/affinity: job %u CPU final mask for node: %s",
 		     req->job_id, req->cpu_bind);
 	} else {
-		error("task/affinity: job %u allocated not CPUs", 
+		error("task/affinity: job %u allocated no CPUs", 
 		      req->job_id);
 	}
 	bit_free(hw_map);
@@ -449,6 +449,7 @@ static void _enforce_limits(launch_tasks_request_msg_t *req, bitstr_t *mask,
 			count--;
 		}
 	}
+
 	/* enforce max_cores */
 	for (i = 0; i < size; i++) {
 		if (bit_test(mask, i) == 0)
@@ -605,6 +606,21 @@ static bitstr_t *_get_avail_map(launch_tasks_request_msg_t *req,
 		req->job_id, req->job_step_id, str);
 	xfree(str);
 
+	if (req->max_threads == 0) {
+		error("task/affinity: job %u.%u has max_threads=0",
+		      req->job_id, req->job_step_id);
+		req->max_threads = 1;
+	}
+	if (req->max_cores == 0) {
+		error("task/affinity: job %u.%u has max_coress=0",
+		      req->job_id, req->job_step_id);
+		req->max_cores = 1;
+	}
+	if (req->max_sockets == 0) {
+		error("task/affinity: job %u.%u has max_sockets=0",
+		      req->job_id, req->job_step_id);
+		req->max_sockets = 1;
+	}
 	num_threads = MIN(req->max_threads, (*hw_threads));
 	for (p = 0; p < num_procs; p++) {
 		if (bit_test(req_map, p) == 0)