diff --git a/src/slurmctld/node_mgr.c b/src/slurmctld/node_mgr.c
index d747a7d2215f0ed482e374fdf1ae6070d7ee2da6..9ef3553c9a93c99c27eec207870225adde245612 100644
--- a/src/slurmctld/node_mgr.c
+++ b/src/slurmctld/node_mgr.c
@@ -1508,23 +1508,25 @@ extern int validate_node_specs(slurm_node_registration_status_msg_t *reg_msg)
 		threads2 = cores2   * config_ptr->threads;
 
 		if (threads1 < threads2) {
-			error("Node %s has low socket*core*thread count %u",
-				reg_msg->node_name, threads1);
+			error("Node %s has low socket*core*thread count "
+			      "(%d < %d)",
+			      reg_msg->node_name, threads1, threads2);
 			error_code = EINVAL;
 			reason_down = "Low socket*core*thread count";
 		} else if ((slurmctld_conf.fast_schedule == 0) &&
 			   ((cr_flag == 1) || gang_flag) && (cores1 < cores2)) {
-			error("Node %s has low socket*core count %u",
-			      reg_msg->node_name, cores1);
+			error("Node %s has low socket*core count (%d < %d)",
+			      reg_msg->node_name, cores1, cores2);
 			error_code = EINVAL;
 			reason_down = "Low socket*core count";
 		} else if ((slurmctld_conf.fast_schedule == 0) &&
 			   ((cr_flag == 1) || gang_flag) &&
 			   ((sockets1 > sockets2) || (cores1 > cores2) ||
 			    (threads1 > threads2))) {
-			error("Node %s has high socket*core*thread count %u, "
-			      "extra resources ignored",
-			      reg_msg->node_name, threads1);
+			error("Node %s has high socket,core,thread count "
+			      "(%d,%d,%d > %d,%d,%d), extra resources ignored",
+			      reg_msg->node_name, sockets1, cores1, threads1,
+			      sockets2, cores2, threads2);
 			/* Preserve configured values */
 			reg_msg->sockets = config_ptr->sockets;
 			reg_msg->cores   = config_ptr->cores;
@@ -1532,16 +1534,18 @@ extern int validate_node_specs(slurm_node_registration_status_msg_t *reg_msg)
 		}
 
 		if (reg_msg->cpus < config_ptr->cpus) {
-			error ("Node %s has low cpu count %u",
-				reg_msg->node_name, reg_msg->cpus);
+			error("Node %s has low cpu count (%u < %u)",
+			      reg_msg->node_name, reg_msg->cpus,
+			      config_ptr->cpus);
 			error_code  = EINVAL;
 			reason_down = "Low CPUs";
 		} else if ((slurmctld_conf.fast_schedule == 0) &&
 			   ((cr_flag == 1) || gang_flag) &&
 			   (reg_msg->cpus > config_ptr->cpus)) {
-			error("Node %s has high CPU count %u, "
+			error("Node %s has high CPU count (%u > %u), "
 			      "extra resources ignored",
-			      reg_msg->node_name, reg_msg->cpus);
+			      reg_msg->node_name, reg_msg->cpus,
+			      config_ptr->cpus);
 			reg_msg->cpus    = config_ptr->cpus;
 		}
 	}
@@ -1563,8 +1567,9 @@ extern int validate_node_specs(slurm_node_registration_status_msg_t *reg_msg)
 
 	if ((slurmctld_conf.fast_schedule != 2) &&
 	    (reg_msg->real_memory < config_ptr->real_memory)) {
-		error ("Node %s has low real_memory size %u",
-		       reg_msg->node_name, reg_msg->real_memory);
+		error("Node %s has low real_memory size (%u < %u)",
+		      reg_msg->node_name, reg_msg->real_memory,
+		      config_ptr->real_memory);
 		error_code  = EINVAL;
 		reason_down = "Low RealMemory";
 	}
@@ -1572,8 +1577,9 @@ extern int validate_node_specs(slurm_node_registration_status_msg_t *reg_msg)
 
 	if ((slurmctld_conf.fast_schedule != 2) &&
 	    (reg_msg->tmp_disk < config_ptr->tmp_disk)) {
-		error ("Node %s has low tmp_disk size %u",
-		       reg_msg->node_name, reg_msg->tmp_disk);
+		error("Node %s has low tmp_disk size (%u < %u)",
+		      reg_msg->node_name, reg_msg->tmp_disk,
+		      config_ptr->tmp_disk);
 		error_code = EINVAL;
 		reason_down = "Low TmpDisk";
 	}