diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 571401c962d8..e4169b9c0128 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1056,14 +1056,21 @@
if(!check_rights(R_ADMIN))
return
var/mob/M = locate(href_list["boot2"])
- if (ismob(M))
+ if(ismob(M))
if(!check_if_greater_rights_than(M.client))
to_chat(usr, "Error: They have more rights than you do.")
return
+ if(alert(usr, "Kick [key_name(M)]?", "Confirm", "Yes", "No") != "Yes")
+ return
+ if(!M)
+ to_chat(usr, "Error: [M] no longer exists!")
+ return
+ if(!M.client)
+ to_chat(usr, "Error: [M] no longer has a client!")
+ return
to_chat(M, "You have been kicked from the server by [usr.client.holder.fakekey ? "an Administrator" : "[usr.client.ckey]"].")
log_admin("[key_name(usr)] kicked [key_name(M)].")
message_admins("[key_name_admin(usr)] kicked [key_name_admin(M)].")
- //M.client = null
qdel(M.client)
else if(href_list["addmessage"])