diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index ee95a6d06d3..2d2327c190c 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -74,11 +74,10 @@
var/obj/parrot_perch = null
var/obj/desired_perches = list(/obj/structure/computerframe, /obj/structure/displaycase, \
/obj/structure/filingcabinet, /obj/machinery/teleport, \
- /obj/machinery/computer, /obj/machinery/clonepod, \
+ /obj/machinery/suit_storage_unit, /obj/machinery/clonepod, \
/obj/machinery/dna_scannernew, /obj/machinery/telecomms, \
/obj/machinery/nuclearbomb, /obj/machinery/particle_accelerator, \
- /obj/machinery/recharge_station, /obj/machinery/smartfridge, \
- /obj/machinery/suit_storage_unit)
+ /obj/machinery/recharge_station, /obj/machinery/smartfridge)
//Parrots are kleptomaniacs. This variable ... stores the item a parrot is holding.
var/obj/item/held_item = null
diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm
index bd72da75d54..60570fac396 100644
--- a/code/modules/telesci/telesci_computer.dm
+++ b/code/modules/telesci/telesci_computer.dm
@@ -318,9 +318,12 @@
return
return
-/obj/machinery/computer/telescience/proc/eject()
+/obj/machinery/computer/telescience/proc/eject(mob/user)
+
+ if(!user) return
+
for(var/obj/item/I in crystals)
- I.loc = src.loc
+ I.loc = user.loc
crystals -= I
power = 0
@@ -361,7 +364,7 @@
if(href_list["ejectGPS"])
if(inserted_gps)
- inserted_gps.loc = loc
+ inserted_gps.loc = usr.loc
inserted_gps = null
if(href_list["setMemory"])
@@ -385,7 +388,7 @@
temp_msg = "NOTICE:
Calibration successful."
if(href_list["eject"])
- eject()
+ eject(usr)
temp_msg = "NOTICE:
Bluespace crystals ejected."
updateUsrDialog()