diff --git a/code/modules/mob/dead/observer/free_vr.dm b/code/modules/mob/dead/observer/free_vr.dm
index c10101f8be..dca361725f 100644
--- a/code/modules/mob/dead/observer/free_vr.dm
+++ b/code/modules/mob/dead/observer/free_vr.dm
@@ -11,7 +11,7 @@ var/global/list/prevent_respawns = list()
set category = "OOC"
set desc = "Free your job slot, remove yourself from the manifest, and prevent respawning as this character for this round."
- var/confirm = alert("This will free up your job slot, remove you from the manifest, and prevent you from respawning with this character for the round. You can rejoin as another \
+ var/confirm = alert("This will free up your job slot, remove you from the manifest, and allow you to respawn as this character. You can rejoin as another \
character if you like. Do this now?","Quit This Round","Quit Round","Cancel")
if(confirm != "Quit Round")
return
@@ -22,7 +22,7 @@ var/global/list/prevent_respawns = list()
return
//Add them to the nope list
- prevent_respawns += mind.name
+ //prevent_respawns += mind.name //Replaced by PR 4785
//Update any existing objectives involving this mob.
for(var/datum/objective/O in all_objectives)
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index 4b2f7350ed..6d3b768645 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -169,6 +169,13 @@
ViewManifest()
if(href_list["SelectedJob"])
+
+ //Prevents people rejoining as same character.
+ for (var/mob/living/carbon/human/C in mob_list)
+ var/char_name = client.prefs.real_name
+ if(char_name == C.real_name)
+ usr << "There is a character that already exists with the same name - [C.real_name], please join with a different one, or use Quit the Round with the previous character." //VOREStation Edit
+ return
if(!config.enter_allowed)
usr << "There is an administrative lock on entering the game!"