diff --git a/src/common/read_config.c b/src/common/read_config.c
index 77901c68765118109c698de206c750b461a260c0..293a1102ccea15c45bb3661536b1a183d494df43 100644
--- a/src/common/read_config.c
+++ b/src/common/read_config.c
@@ -3655,10 +3655,10 @@ _validate_and_set_defaults(slurm_ctl_conf_t *conf, s_p_hashtbl_t *hashtbl)
 
 	/* If not running linear default to be CR_CPU */
 	if (!(conf->select_type_param & (CR_CPU | CR_SOCKET | CR_CORE))
-	    && (strcmp(conf->select_type, "select/linear") ||
-		((strcmp(conf->select_type, "select/alps") ||
-		  strcmp(conf->select_type, "select/cray")) &&
-		 !(conf->select_type_param & CR_OTHER_CONS_RES))))
+	    && (strcmp(conf->select_type, "select/linear") &&
+		((!strcmp(conf->select_type, "select/alps") ||
+		  !strcmp(conf->select_type, "select/cray")) &&
+		 (conf->select_type_param & CR_OTHER_CONS_RES))))
 		conf->select_type_param |= CR_CPU;
 
 	if (!s_p_get_string( &conf->slurm_user_name, "SlurmUser", hashtbl)) {