diff --git a/NEWS b/NEWS
index 7041e7901de1b136d220d07b491f94a41d4033ec..d2683bb4b75b574c8b3abc3016a627db183b7725 100644
--- a/NEWS
+++ b/NEWS
@@ -293,6 +293,7 @@ documents those changes that are of interest to users and admins.
 
 * Changes in SLURM 1.1.36
 =========================
+ - Permit node state specification of DRAIN in slurm.conf.
 
 * Changes in SLURM 1.1.35
 =========================
diff --git a/src/slurmctld/read_config.c b/src/slurmctld/read_config.c
index 832d21371a6c30498ed8eae579b0751220682d98..ada8a93c978386b3d386349a634246587bce5467 100644
--- a/src/slurmctld/read_config.c
+++ b/src/slurmctld/read_config.c
@@ -299,10 +299,11 @@ static int _state_str2int(const char *state_str)
 			break;
 		}
 	}
-	if ((i == 0) && (strncasecmp("DRAIN", state_str, 5) == 0))
+	if ((i >= NODE_STATE_END)
+	&&  (strncasecmp("DRAIN", state_str, 5) == 0))
 		state_val = NODE_STATE_IDLE | NODE_STATE_DRAIN;
 	if (state_val == NO_VAL) {
-		error("invalid state %s", state_str);
+		error("invalid node state %s", state_str);
 		errno = EINVAL;
 	}
 	return state_val;