diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 531bd1ec1c..0f14e8ea86 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -898,7 +898,7 @@
/mob/living/carbon/human/proc/piggyback(mob/living/carbon/target)
if(can_piggyback(target))
visible_message("[target] starts to climb onto [src]...")
- if(do_after(target, 15, target = src))
+ if(do_after(target, 15, target = src, required_mobility_flags = MOBILITY_STAND))
if(can_piggyback(target))
if(target.incapacitated(FALSE, TRUE) || incapacitated(FALSE, TRUE))
target.visible_message("[target] can't hang onto [src]!")
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 35b0cfbfa2..8d04520e4b 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1601,7 +1601,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
"\The [user] slaps \the [target]'s ass!",\
"You slap [user == target ? "your" : "\the [target]'s"] ass!",\
"You hear a slap."
- )
+ )
return FALSE
else if(attacker_style && attacker_style.disarm_act(user,target))
return 1
@@ -1831,6 +1831,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(user.getStaminaLoss() >= STAMINA_SOFTCRIT)
to_chat(user, "You're too exhausted for that.")
return
+ if(user.IsKnockdown() || user.IsParalyzed() || user.IsStun())
+ to_chat(user, "You can't seem to force yourself up right now!")
+ return
if(CHECK_MOBILITY(user, MOBILITY_STAND))
to_chat(user, "You can only force yourself up if you're on the ground.")
return