diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm
index 7ad45bd58c0..e1e1563459c 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone.dm
@@ -300,11 +300,7 @@
if(!player)
return
- if(player.mob?.mind)
- player.mob.mind.transfer_to(src)
- player.mob.mind.assigned_role = "Drone"
- else
- ckey = player.ckey
+ ckey = player.ckey
to_chat(src, "Systems rebooted. Loading base pattern maintenance protocol... loaded.")
full_law_reset()
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
index 73c78ff3bec..6baf208a377 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
@@ -37,7 +37,7 @@
icon_state = "drone_fab_active"
var/elapsed = world.time - time_last_drone
- drone_progress = round((elapsed / config.drone_build_time) * 100)
+ drone_progress = clamp(round((elapsed / config.drone_build_time) * 100), 0, 100)
if(drone_progress >= 100)
visible_message("[src] voices a strident beep, indicating a drone chassis is prepared.")