diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 6a96c82c00..be95d2e3d1 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -926,15 +926,19 @@
riding_datum = new /datum/riding/human(src)
if(buckled_mobs && ((M in buckled_mobs) || (buckled_mobs.len >= max_buckled_mobs)) || buckled || (M.stat != CONSCIOUS))
return
- if(iscarbon(M))
- if(M.incapacitated(FALSE, TRUE) || incapacitated(FALSE, TRUE))
- M.visible_message("[M] can't hang onto [src]!")
- return
- if(!riding_datum.equip_buckle_inhands(M, 2)) //MAKE SURE THIS IS LAST!!
- M.visible_message("[M] can't climb onto [src]!")
- return
- . = ..(M, force, check_loc)
- stop_pulling()
+ visible_message("[M] starts to climb onto [src]...")
+ if(do_after(M, 15, target = src))
+ if(iscarbon(M))
+ if(M.incapacitated(FALSE, TRUE) || incapacitated(FALSE, TRUE))
+ M.visible_message("[M] can't hang onto [src]!")
+ return
+ if(!riding_datum.equip_buckle_inhands(M, 2)) //MAKE SURE THIS IS LAST!!
+ M.visible_message("[M] can't climb onto [src]!")
+ return
+ . = ..(M, force, check_loc)
+ stop_pulling()
+ else
+ visible_message("[M] fails to climb onto [src]!")
/mob/living/carbon/human/unbuckle_mob(mob/living/M, force=FALSE)
if(iscarbon(M))