diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm
index 43cce5904e3..f9a98b01483 100644
--- a/code/modules/mining/equipment/wormhole_jaunter.dm
+++ b/code/modules/mining/equipment/wormhole_jaunter.dm
@@ -11,6 +11,7 @@
throw_range = 5
origin_tech = "bluespace=2"
slot_flags = SLOT_BELT
+ var/emagged = FALSE
/obj/item/wormhole_jaunter/attack_self(mob/user)
user.visible_message("[user.name] activates the [name]!")
@@ -43,6 +44,7 @@
return
var/chosen_beacon = pick(L)
var/obj/effect/portal/jaunt_tunnel/J = new(get_turf(src), get_turf(chosen_beacon), src, 100)
+ J.emagged = emagged
if(adjacent)
try_move_adjacent(J)
else
@@ -57,12 +59,26 @@
else
to_chat(user, "[src] is not attached to your belt, preventing it from saving you from the chasm. RIP.")
+/obj/item/wormhole_jaunter/emag_act(mob/user)
+ if(!emagged)
+ emagged = TRUE
+ to_chat(user, "You emag [src].")
+ var/turf/T = get_turf(src)
+ do_sparks(5, 0, T)
+ playsound(T, "sparks", 50, 1)
+
/obj/effect/portal/jaunt_tunnel
name = "jaunt tunnel"
icon = 'icons/effects/effects.dmi'
icon_state = "bhole3"
desc = "A stable hole in the universe made by a wormhole jaunter. Turbulent doesn't even begin to describe how rough passage through one of these is, but at least it will always get you somewhere near a beacon."
failchance = 0
+ var/emagged = FALSE
+
+/obj/effect/portal/jaunt_tunnel/can_teleport(atom/movable/M)
+ if(!emagged && ismegafauna(M))
+ return FALSE
+ return ..()
/obj/effect/portal/jaunt_tunnel/teleport(atom/movable/M)
. = ..()