diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 6a04670188a..58ec13fa682 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -638,7 +638,7 @@
AI.ai_restore_power()//So the AI initially has power.
AI.control_disabled = 1
AI.radio_enabled = 0
- AI.loc = card
+ AI.forceMove(card)
card.AI = AI
occupant = null
AI.controlled_mech = null
diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm
index 4a237f92a0d..9ad75378d04 100644
--- a/code/game/objects/structures/ai_core.dm
+++ b/code/game/objects/structures/ai_core.dm
@@ -240,7 +240,7 @@ atom/proc/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/
if(interaction == AI_TRANS_FROM_CARD)
AI.control_disabled = 0
AI.radio_enabled = 1
- AI.loc = loc//To replace the terminal.
+ AI.forceMove(loc) // to replace the terminal.
AI << "You have been uploaded to a stationary terminal. Remote device connection restored."
user << "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed."
card.AI = null
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 7cd4e02e618..0114c3dc9fa 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -759,7 +759,7 @@ var/list/ai_list = list()
ai_restore_power()//So the AI initially has power.
control_disabled = 1//Can't control things remotely if you're stuck in a card!
radio_enabled = 0 //No talking on the built-in radio for you either!
- loc = card//Throw AI into the card.
+ forceMove(card)
card.AI = src
src << "You have been downloaded to a mobile storage device. Remote device connection severed."
user << "Transfer successful: [name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory."
@@ -867,4 +867,4 @@ var/list/ai_list = list()
apc.update_icon()
/mob/living/silicon/ai/spawned/New(loc, datum/ai_laws/L, obj/item/device/mmi/B, safety = 0)
- ..(loc,L,B,1)
\ No newline at end of file
+ ..(loc,L,B,1)