diff --git a/NEWS b/NEWS
index df2a814b427d1323ffd081434ba1f41c83234666..321002e2895f8059e65497fe6cd09db1463c4734 100644
--- a/NEWS
+++ b/NEWS
@@ -83,6 +83,8 @@ documents those changes that are of interest to users and admins.
  -- BLUEGENE - If removing blocks from system that once existed cleanup of old
     block happens correctly now.
  -- Prevent slurmctld crashing with configuration of MaxMemPerCPU=0.
+ -- Prevent job hold by operator or account coordinator of his own job from
+    being an Administrator Hold rather than User Hold by default.
 
 * Changes in SLURM 2.3.0-2
 ==========================
diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c
index 3de9d9cc453e0cf6f0f26e06071d5ac94f458b43..9b328faf156074f52b384f784dbc061d6e396462 100644
--- a/src/slurmctld/job_mgr.c
+++ b/src/slurmctld/job_mgr.c
@@ -7379,12 +7379,12 @@ int update_job(job_desc_msg_t * job_specs, uid_t uid)
 			     job_specs->job_id);
 			update_accounting = true;
 			if (job_ptr->priority == 0) {
-				if (authorized &&
-				    (job_specs->alloc_sid !=
+				if ((job_ptr->user_id == uid) ||
+				    (job_specs->alloc_sid ==
 				     ALLOC_SID_USER_HOLD)) {
-					job_ptr->state_reason = WAIT_HELD;
-				} else
 					job_ptr->state_reason = WAIT_HELD_USER;
+				} else 
+					job_ptr->state_reason = WAIT_HELD;
 				xfree(job_ptr->state_desc);
 			} else if ((job_ptr->state_reason == WAIT_HELD) ||
 				   (job_ptr->state_reason == WAIT_HELD_USER)) {