diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
old mode 100644
new mode 100755
index 173217bc0b2..b25c6e1076a
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -277,7 +277,7 @@ datum/preferences
if(gear_datums[gear_name])
var/datum/gear/G = gear_datums[gear_name]
total_cost += G.cost
- dat += "[gear_name] \[remove\]
"
+ dat += "[G.display_name]
"
dat += "Used: [total_cost] points."
else
@@ -285,6 +285,8 @@ datum/preferences
if(total_cost < MAX_GEAR_COST)
dat += " \[add\]"
+ if(gear && gear.len)
+ dat += " \[remove\]"
dat += "
Occupation Choices
"
dat += "\tSet Preferences
"
@@ -892,10 +894,18 @@ datum/preferences
user << "\red That item will exceed the maximum loadout cost of [MAX_GEAR_COST] points."
else if(href_list["task"] == "remove")
- var/to_remove = href_list["gear"]
- if(!to_remove) return
+
+ if(isnull(gear) || !islist(gear))
+ gear = list()
+ if(!gear.len)
+ return
+
+ var/choice = input(user, "Select gear to remove: ") as null|anything in gear
+ if(!choice)
+ return
+
for(var/gear_name in gear)
- if(gear_name == to_remove)
+ if(gear_name == choice)
gear -= gear_name
break