diff --git a/NEWS b/NEWS
index f14b8bde6e7a4a00117fd1b672e5d35566739e7b..ba362ffee4b7fe45362e472630c89888715dea39 100644
--- a/NEWS
+++ b/NEWS
@@ -64,6 +64,7 @@ documents those changes that are of interest to users and administrators.
     destroying a mutex.
  -- Fix updating job priority on multiple partitions to be correct.
  -- Don't remove admin comment when updating a job.
+ -- Return error when bad separator is given for scontrol update job licenses.
 
 * Changes in Slurm 17.02.2
 ==========================
diff --git a/src/slurmctld/licenses.c b/src/slurmctld/licenses.c
index 0e65617acf74ad03334f6a56ddcd4732759645d6..2a7053e3f580190e09bf59fe337f37e2a55b2b6b 100644
--- a/src/slurmctld/licenses.c
+++ b/src/slurmctld/licenses.c
@@ -148,9 +148,12 @@ static List _build_license_list(char *licenses, bool *valid)
 			if ((token[i] == ':') || (token[i] == '*')) {
 				token[i++] = '\0';
 				num = (int32_t)strtol(&token[i], &end_num, 10);
+				if (*end_num != '\0')
+					 *valid = false;
+				break;
 			}
 		}
-		if (num < 0) {
+		if (num < 0 || !(*valid)) {
 			*valid = false;
 			break;
 		}