diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index dd1a88b8b36..036d70fa17a 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -225,9 +225,7 @@
/datum/mind/proc/memory_edit_cult(mob/living/carbon/human/H)
. = _memory_edit_header("cult")
- if(ismindshielded(H))
- . += "NO|cultist"
- else if(src in SSticker.mode.cult)
+ if(src in SSticker.mode.cult)
. += "no|CULTIST"
. += "
Give tome|equip."
else
diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index 113487dc1dc..39e3c5b7d3f 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -182,7 +182,7 @@ var/global/list/all_cults = list()
if(!istype(cult_mind))
return 0
var/datum/game_mode/cult/cult_mode = SSticker.mode
- if(!(cult_mind in cult) && is_convertable_to_cult(cult_mind))
+ if(!(cult_mind in cult))
cult += cult_mind
cult_mind.current.faction |= "cult"
var/datum/action/innate/cultcomm/C = new()
diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm
index 2edbb41cb95..d97ec2af5fd 100644
--- a/code/game/gamemodes/wizard/soulstone.dm
+++ b/code/game/gamemodes/wizard/soulstone.dm
@@ -281,6 +281,9 @@
/proc/init_construct(mob/living/simple_animal/hostile/construct/C, mob/living/simple_animal/shade/SH, obj/item/soulstone/SS, obj/structure/constructshell/T)
SH.mind.transfer_to(C)
+ if(iscultist(C))
+ var/datum/action/innate/cultcomm/CC = new()
+ CC.Grant(C) //We have to grant the cult comms again because they're lost during the mind transfer.
qdel(T)
qdel(SH)
to_chat(C, "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.")