diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index 093b139f677..2f8249c8401 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -17,7 +17,7 @@ var/global/normal_ooc_colour = "#002eb8"
src << "\red You have OOC muted."
return
- if(!holder)
+ if(!(holder && holder.rights && (holder.rights & R_MOD)))
if(!ooc_allowed)
src << "\red OOC is globally muted"
return
@@ -99,7 +99,7 @@ var/global/normal_ooc_colour = "#002eb8"
src << "\red You have LOOC muted."
return
- if(!holder)
+ if(!(holder && holder.rights && (holder.rights & R_MOD)))
if(!ooc_allowed)
src << "\red LOOC is globally muted"
return
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 952b939cfc6..fd2e02b798f 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1015,7 +1015,8 @@
return
else if(href_list["mute"])
- if(!check_rights(R_ADMIN)) return
+ if(!check_rights(R_MOD))
+ return
var/mob/M = locate(href_list["mute"])
if(!ismob(M)) return
diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm
index 1a4da3d8c58..a20af6d43d4 100644
--- a/code/modules/admin/verbs/deadsay.dm
+++ b/code/modules/admin/verbs/deadsay.dm
@@ -20,12 +20,12 @@
var/stafftype = null
- if (src.holder.rights & R_MOD)
- stafftype = "MOD"
-
if (src.holder.rights & R_MENTOR)
stafftype = "MENTOR"
+ if (src.holder.rights & R_MOD)
+ stafftype = "MOD"
+
if (src.holder.rights & R_ADMIN)
stafftype = "ADMIN"
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 5bd6cb4ff9b..405e2feaa27 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -152,15 +152,12 @@ proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0)
else
if(!usr || !usr.client)
return
- if(!usr.client.holder)
+ if(!(usr.client.holder && usr.client.holder.rights && (usr.client.holder.rights & R_MOD)))
usr << "Error: cmd_admin_mute: You don't have permission to do this."
return
if(!M.client)
usr << "Error: cmd_admin_mute: This mob doesn't have a client tied to it."
- if(M.client.holder)
- usr << "Error: cmd_admin_mute: You cannot mute an admin."
if(!M.client) return
- if(M.client.holder) return
var/muteunmute
var/mute_string