diff --git a/src/slurmdbd/proc_req.c b/src/slurmdbd/proc_req.c
index d793c6777e94fa6d9496e04ffe1807474a49ec2b..7043c18525e6a4a9a742d2cecdead068e45908f3 100644
--- a/src/slurmdbd/proc_req.c
+++ b/src/slurmdbd/proc_req.c
@@ -2365,9 +2365,15 @@ is_same_user:
 
 	if ((user_rec->admin_level != SLURMDB_ADMIN_NOTSET)
 	    && (*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
-	    && (admin_level < user_rec->admin_level)) {
-		comment = "You have to be the same or higher admin level to change another persons";
-		user_rec->admin_level = SLURMDB_ADMIN_NOTSET;
+	    && (admin_level < SLURMDB_ADMIN_SUPER_USER)) {
+		comment = "You must be a super user to modify a users admin level";
+		error("CONN:%u %s", slurmdbd_conn->newsockfd, comment);
+		*out_buffer = make_dbd_rc_msg(slurmdbd_conn->
+					      rpc_version,
+					      ESLURM_ACCESS_DENIED,
+					      comment,
+					      DBD_MODIFY_USERS);
+		return ESLURM_ACCESS_DENIED;
 	}
 
 	if (!(list_msg.my_list = acct_storage_g_modify_users(