diff --git a/NEWS b/NEWS
index dfca98d3f2a5b53206852172e8edfac91631bdfc..c74c6457bb52f1fb6abc805e6029fe134230384a 100644
--- a/NEWS
+++ b/NEWS
@@ -22,6 +22,7 @@ documents those changes that are of interest to users and admins.
  -- Handle when trying to cancel a step that hasn't started yet better.
  -- Handle Max/GrpCPU limits better
  -- Add --priority option to salloc, sbatch and srun commands.
+ -- Honor partition priorities over job priorities.
 
 * Changes in Slurm 14.03.1-2
 ==========================
diff --git a/src/slurmctld/job_scheduler.c b/src/slurmctld/job_scheduler.c
index 0d4a6a91cdcad85bb36a16e3307abb28eff40b48..7b04507ceaa369ebb233574dd08879df424acda3 100644
--- a/src/slurmctld/job_scheduler.c
+++ b/src/slurmctld/job_scheduler.c
@@ -1395,6 +1395,15 @@ extern int sort_job_queue2(void *x, void *y)
 	if (!has_resv1 && has_resv2)
 		return 1;
 
+	if (job_rec1->part_ptr && job_rec2->part_ptr) {
+		p1 = job_rec1->part_ptr->priority;
+		p2 = job_rec2->part_ptr->priority;
+		if (p1 < p2)
+			return 1;
+		if (p1 > p2)
+			return -1;
+	}
+
 	if (job_rec1->job_ptr->part_ptr_list &&
 	    job_rec1->job_ptr->priority_array)
 		p1 = job_rec1->priority;