diff --git a/NEWS b/NEWS
index 50579ee14f3aa0ffe5434167a03a73c1707fa950..5b08bd9e7b417610e6b917b7d2ba220f17faa308 100644
--- a/NEWS
+++ b/NEWS
@@ -128,6 +128,9 @@ documents those changes that are of interest to users and admins.
     slurm_conf_reinit.
  -- Fix gres race condition that could result in job deallocation error message.
  -- Correct NumCPUs count for jobs with --exclusive option.
+ -- When creating reservation with CoreCnt check that Slurm
+    uses SelectType=select/cons_res otherwise don't send the
+    request to slurmctld and return an error.
 
 * Changes in Slurm 14.03.6
 ==========================
diff --git a/src/scontrol/create_res.c b/src/scontrol/create_res.c
index 46f3ba55b91beaee9aa25de83dd37134b5c982c0..570a47a1b6ec5901a98d9d6a93bfa88cd0e00292 100644
--- a/src/scontrol/create_res.c
+++ b/src/scontrol/create_res.c
@@ -36,6 +36,7 @@
  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA.
 \*****************************************************************************/
 
+#define _GNU_SOURCE
 #include "src/scontrol/scontrol.h"
 #include "src/slurmctld/reservation.h"
 
@@ -76,7 +77,7 @@ static char * _process_plus_minus(char plus_or_minus, char *src)
 
 /*
  *  _parse_flags  is used to parse the Flags= option.  It handles
- *  daily, weekly, static_alloc, part_nodes, and maint, optionally 
+ *  daily, weekly, static_alloc, part_nodes, and maint, optionally
  *  preceded by + or -, separated by a comma but no spaces.
  */
 static uint32_t _parse_flags(const char *flagstr, const char *msg)
@@ -301,13 +302,13 @@ scontrol_parse_res_options(int argc, char *argv[], const char *msg,
 			   strncasecmp(tag, "CPUCount",  MAX(taglen,5)) == 0) {
 
 			char *endptr = NULL, *core_cnt, *tok, *ptrptr = NULL;
-			char *type = NULL;
+			char *type;
 			int node_inx = 0;
 
 			type = slurm_get_select_type();
-			if (!strcasecmp(type, "select/linear")) {
-				error("Invalid to use CoreCnt or CPUCnt with "
-				      "SelectType=select/linear");
+			if (strcasestr(type, "cons_res") == NULL) {
+				error("CoreCnt or CPUCnt is only suported when "
+                                      "SelectType includes select/cons_res");
 				xfree(type);
 				return -1;
 			}