diff --git a/code/modules/shuttles/shuttle.dm b/code/modules/shuttles/shuttle.dm
index cda79ea0b71..f8b4fb4d1a0 100644
--- a/code/modules/shuttles/shuttle.dm
+++ b/code/modules/shuttles/shuttle.dm
@@ -192,18 +192,22 @@
if(istype(TA, ceiling_type))
TA.ChangeTurf(get_base_turf_by_area(TA), 1, 1)
if(knockdown)
- for(var/mob/M in A)
+ for(var/mob/living/carbon/M in A)
spawn(0)
- if(istype(M, /mob/living/carbon))
- if(M.buckled_to)
- to_chat(M, "Sudden acceleration presses you into your chair!")
- shake_camera(M, 3, 1)
- else
- to_chat(M, "The floor lurches beneath you!")
- shake_camera(M, 10, 1)
- M.visible_message("[M.name] is tossed around by the sudden acceleration!")
- M.throw_at_random(FALSE, 4, 1)
- M.Weaken(3)
+ if(M.buckled_to)
+ to_chat(M, "Sudden acceleration presses you into your chair!")
+ shake_camera(M, 3, 1)
+ else if(M.Check_Shoegrip(FALSE))
+ to_chat(M, SPAN_WARNING("You feel immense pressure in your feet as you cling to the floor!"))
+ M.apply_damage(10, PAIN, BP_L_FOOT)
+ M.apply_damage(10, PAIN, BP_R_FOOT)
+ shake_camera(M, 5, 1)
+ else
+ to_chat(M, "The floor lurches beneath you!")
+ shake_camera(M, 10, 1)
+ M.visible_message("[M.name] is tossed around by the sudden acceleration!")
+ M.throw_at_random(FALSE, 4, 1)
+ M.Weaken(3)
for(var/obj/structure/cable/C in A)
powernets |= C.powernet
diff --git a/html/changelogs/geeves-magboot_shuttleride_redux.yml b/html/changelogs/geeves-magboot_shuttleride_redux.yml
new file mode 100644
index 00000000000..c8980b31896
--- /dev/null
+++ b/html/changelogs/geeves-magboot_shuttleride_redux.yml
@@ -0,0 +1,6 @@
+author: Geeves
+
+delete-after: True
+
+changes:
+ - rscadd: "Magboots now prevent you from being thrown about during shuttle rides."
\ No newline at end of file