diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm
index 43931e6bb2a..9d2cc38ee8a 100644
--- a/code/game/objects/effects/portals.dm
+++ b/code/game/objects/effects/portals.dm
@@ -25,7 +25,8 @@
GLOB.portals += src
target = _target
- creation_obj_data = list(creation_object.UID(), "[creation_object.name]") // Store the name incase the object is deleted.
+ if(creation_object)
+ creation_obj_data = list(creation_object.UID(), "[creation_object.name]") // Store the name incase the object is deleted.
creation_mob_ckey = creation_mob?.ckey
if(lifespan > 0)
diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm
index 491dd65ec97..2d583a76d2c 100644
--- a/code/game/objects/items/weapons/teleportation.dm
+++ b/code/game/objects/items/weapons/teleportation.dm
@@ -109,7 +109,7 @@ Frequency:
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
var/active_portals = 0
-/obj/item/hand_tele/attack_self(mob/user as mob)
+/obj/item/hand_tele/attack_self(mob/user)
var/turf/current_location = get_turf(user)//What turf is the user on?
if(!current_location||!is_teleport_allowed(current_location.z))//If turf was not found or they're somewhere teleproof
to_chat(user, "\The [src] is malfunctioning.")
@@ -139,7 +139,7 @@ Frequency:
return
var/T = L[t1]
user.show_message("Locked In.", 2)
- var/obj/effect/portal/P = new /obj/effect/portal(get_turf(src), T, src)
+ var/obj/effect/portal/P = new /obj/effect/portal(get_turf(src), T, src, creation_mob = user)
try_move_adjacent(P)
active_portals++
add_fingerprint(user)