diff --git a/src/sbatch/opt.c b/src/sbatch/opt.c
index 83b1711ed6b9a4d9c87dc144fa348398bb66fb2e..c44c37095d719e0ce04f8825dd09313fe7f51209 100644
--- a/src/sbatch/opt.c
+++ b/src/sbatch/opt.c
@@ -1756,6 +1756,15 @@ static void _set_pbs_options(int argc, char **argv)
 				      "-%d and %d", NICE_OFFSET, NICE_OFFSET);
 				exit(error_exit);
 			}
+			if (opt.nice < 0) {
+				uid_t my_uid = getuid();
+				if ((my_uid != 0) &&
+				    (my_uid != slurm_get_slurm_user_id())) {
+					error("Nice value must be "
+					      "non-negative, value ignored");
+					opt.nice = 0;
+				}
+			}
 			break;
 		case 'q':
 			xfree(opt.partition);
@@ -1976,6 +1985,15 @@ static void _parse_pbs_resource_list(char *rl)
 				      "-%d and %d", NICE_OFFSET, NICE_OFFSET);
 				exit(error_exit);
 			}
+			if (opt.nice < 0) {
+				uid_t my_uid = getuid();
+				if ((my_uid != 0) &&
+				    (my_uid != slurm_get_slurm_user_id())) {
+					error("Nice value must be "
+					      "non-negative, value ignored");
+					opt.nice = 0;
+				}
+			}
 			xfree(temp);
 		} else if(!strncmp(rl+i, "nodes=", 6)) {
 			i+=6;