diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm
index f61ca544a37..7d401160b80 100644
--- a/code/game/objects/effects/mines.dm
+++ b/code/game/objects/effects/mines.dm
@@ -13,7 +13,12 @@
icon_state = "uglyminearmed"
/obj/effect/mine/Crossed(AM as mob|obj)
- Bumped(AM)
+ if(isanimal(AM))
+ var/mob/living/simple_animal/SA = AM
+ if(!SA.flying)
+ Bumped(SA)
+ else
+ Bumped(AM)
/obj/effect/mine/Bumped(AM as mob|obj)
diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm
index 8c94dafb76f..38bdb41d43b 100644
--- a/code/modules/assembly/mousetrap.dm
+++ b/code/modules/assembly/mousetrap.dm
@@ -104,8 +104,10 @@
triggered(H)
H.visible_message("[H] accidentally steps on [src].", \
"You accidentally step on [src]")
- else if(ismouse(AM))
- triggered(AM)
+ else if(isanimal(AM))
+ var/mob/living/simple_animal/SA = AM
+ if(!SA.flying)
+ triggered(AM)
else if(AM.density) // For mousetrap grenades, set off by anything heavy
triggered(AM)
..()
diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm
index 618df114515..27a71e7d037 100644
--- a/code/modules/mob/living/simple_animal/hostile/carp.dm
+++ b/code/modules/mob/living/simple_animal/hostile/carp.dm
@@ -28,6 +28,7 @@
maxbodytemp = 1500
faction = list("carp")
+ flying = 1
/mob/living/simple_animal/hostile/carp/Process_Spacemove(var/movement_dir = 0)
return 1 //No drifting in space for space carp! //original comments do not steal