diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm
index f78588a832e..b5ee0089fa4 100644
--- a/code/game/objects/items/devices/radio/beacon.dm
+++ b/code/game/objects/items/devices/radio/beacon.dm
@@ -81,19 +81,22 @@
/obj/item/radio/beacon/syndicate/bundle/attack_self(mob/user)
if(!user)
return
+
if(!length(selected))
unselected = bundles.Copy()
for(var/i in 1 to 3)
selected += pick_n_take(unselected)
selected += "Random"
- var/bundle_name = tgui_input_list(user, "Available Bundles", "Bundle Selection", selected)
- if(!bundle_name)
+
+ var/bundle_name = tgui_input_list(user, "Available Bundles", "Bundle Selection", selected)
+ if(!bundle_name || QDELETED(src))
return
+
if(bundle_name == "Random")
bundle_name = pick(unselected)
var/bundle = bundles[bundle_name]
bundle = new bundle(user.loc)
- to_chat(user, "Welcome to [station_name()], [bundle_name]")
+ to_chat(user, "Welcome to [station_name()], [bundle_name]!")
user.drop_item()
qdel(src)
user.put_in_hands(bundle)