diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index 3f0bc9a14be..db30bed37b3 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -308,6 +308,8 @@
dat += ""
dat += "Reply"
dat += "[pms[current_title].archived ? "Unarchive" : "Archive"]"
+ if(check_rights(R_ADMIN, FALSE, user))
+ dat += "Ping"
var/datum/browser/popup = new(user, window_id, "Messages", 1000, 600, src)
popup.set_content(dat)
@@ -335,6 +337,16 @@
show_ui(usr)
return
+ if(href_list["ping"])
+ var/client/C = pms[href_list["ping"]].client
+ if(C)
+ C.pm_tracker.current_title = usr.key
+ window_flash(C)
+ C.pm_tracker.show_ui(C.mob)
+ to_chat(usr, "Forced open [C]'s messages window.")
+ show_ui(usr)
+ return
+
if(href_list["reply"])
usr.client.cmd_admin_pm(ckey(href_list["reply"]), null)
show_ui(usr)