diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm
index 5482f3b2167..b4460a6bb56 100644
--- a/code/datums/components/riding.dm
+++ b/code/datums/components/riding.dm
@@ -18,6 +18,7 @@
var/ride_check_rider_incapacitated = FALSE
var/ride_check_rider_restrained = FALSE
var/ride_check_ridden_incapacitated = FALSE
+ var/ride_check_ridden_restrained = FALSE
var/del_on_unbuckle_all = FALSE
@@ -64,7 +65,10 @@
/datum/component/riding/proc/ride_check(mob/living/M)
var/atom/movable/AM = parent
var/mob/AMM = AM
- if((ride_check_rider_restrained && M.restrained(TRUE)) || (ride_check_rider_incapacitated && M.incapacitated(FALSE, TRUE)) || (ride_check_ridden_incapacitated && istype(AMM) && AMM.incapacitated(FALSE, TRUE)))
+ var/kick_us_off
+ if((ride_check_rider_restrained && M.restrained(TRUE)) || (ride_check_rider_incapacitated && M.incapacitated(TRUE, TRUE)))
+ kick_us_off = TRUE
+ if(kick_us_off || (istype(AMM) && ((ride_check_ridden_restrained && AMM.restrained(TRUE)) || (ride_check_ridden_incapacitated && AMM.incapacitated(TRUE, TRUE)))))
M.visible_message("[M] falls off of [AM]!", \
"You fall off of [AM]!")
AM.unbuckle_mob(M)