diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm
index 93c2fd57bb..02d85234ed 100644
--- a/code/game/objects/buckling.dm
+++ b/code/game/objects/buckling.dm
@@ -56,7 +56,8 @@
user << "You can't buckle anyone in before the game starts."
if(!user.Adjacent(M) || user.restrained() || user.lying || user.stat || istype(user, /mob/living/silicon/pai))
return
-
+ if(M == buckled_mob)
+ return
if(istype(M, /mob/living/carbon/slime))
user << "The [M] is too squishy to buckle in."
return
diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm
index f8b9c37ae4..5b84455ac7 100644
--- a/code/game/objects/structures.dm
+++ b/code/game/objects/structures.dm
@@ -69,7 +69,7 @@
return ..()
/obj/structure/proc/can_climb(var/mob/living/user, post_climb_check=0)
- if (!can_touch(user) || !climbable || (!post_climb_check && (user in climbers)))
+ if (!climbable || !can_touch(user) || (!post_climb_check && (user in climbers)))
return 0
if (!user.Adjacent(src))