diff --git a/NEWS b/NEWS
index 5505616e99ae35b6419b0c46f049346915cbe8bf..39d44a0716ab926909d61fea197d30f10e505f55 100644
--- a/NEWS
+++ b/NEWS
@@ -16,6 +16,8 @@ documents those changes that are of interest to users and admins.
  -- When the optional max_time is not specified for --switches=count, the site
     max (SchedulerParameters=max_switch_wait=seconds) is used for the job.
     Based on patch from Rod Schultz.
+ -- Fix bug in select/cons_res plugin when used with topology/tree and a node
+    range count in job allocation request.
 
 * Changes in SLURM 2.3.4
 ========================
diff --git a/src/plugins/select/cons_res/job_test.c b/src/plugins/select/cons_res/job_test.c
index 700bf91ee3b89fe69e70f9cb8e2754cf603037ab..e00a4836dda1d7de5f94e7be686d0fca766d90af 100644
--- a/src/plugins/select/cons_res/job_test.c
+++ b/src/plugins/select/cons_res/job_test.c
@@ -1570,6 +1570,12 @@ static int _eval_nodes_topo(struct job_record *job_ptr, bitstr_t *bitmap,
 		goto fini;
 	}
 	bit_and(avail_nodes_bitmap, switches_bitmap[best_fit_inx]);
+	if ((min_nodes <  req_nodes) &&
+	    (min_nodes <= switches_node_cnt[best_fit_inx])) {
+		/* If job specifies a range of node counts, then allocate
+		 * resources with a minimal switch configuration */
+		rem_nodes = switches_node_cnt[best_fit_inx];
+	}
 
 	/* Identify usable leafs (within higher switch having best fit) */
 	for (j=0; j<switch_record_cnt; j++) {