diff --git a/code/modules/clothing/spacesuits/rig/modules/combat_vr.dm b/code/modules/clothing/spacesuits/rig/modules/combat_vr.dm
deleted file mode 100644
index f62c0bf4b8e..00000000000
--- a/code/modules/clothing/spacesuits/rig/modules/combat_vr.dm
+++ /dev/null
@@ -1,12 +0,0 @@
-/obj/item/rig_module/grenade_launcher/cleaner
- name = "mounted cleaner-grenade launcher"
- desc = "A shoulder-mounted cleaner-grenade dispenser."
-
- interface_name = "integrated cleaner-grenade launcher"
- interface_desc = "Discharges loaded cleaner-grenades against the wearer's location."
-
- fire_force = 15
-
- charges = list(
- list("cleaner grenade", "cleaner grenade", /obj/item/weapon/grenade/chem_grenade/cleaner, 6)
- )
diff --git a/code/modules/clothing/spacesuits/rig/modules/utility_vr.dm b/code/modules/clothing/spacesuits/rig/modules/specific/pat_module_vr.dm
similarity index 58%
rename from code/modules/clothing/spacesuits/rig/modules/utility_vr.dm
rename to code/modules/clothing/spacesuits/rig/modules/specific/pat_module_vr.dm
index a61f8126d10..7c7e8453d6b 100644
--- a/code/modules/clothing/spacesuits/rig/modules/utility_vr.dm
+++ b/code/modules/clothing/spacesuits/rig/modules/specific/pat_module_vr.dm
@@ -86,84 +86,3 @@
global_announcer.autosay(message, "Security Subsystem", "Command")
global_announcer.autosay(message, "Security Subsystem", "Security")
return 1
-
-/obj/item/rig_module/rescue_pharm
- name = "micro-pharmacy"
- desc = "A small chemical dispenser with integrated micro cartridges."
- usable = 0
- selectable = 1
- disruptive = 1
- toggleable = 1
-
- use_power_cost = 0
- active_power_cost = 5
-
- activate_string = "Enable Regen"
- deactivate_string = "Disable Regen"
-
- interface_name = "mounted chem injector"
- interface_desc = "Dispenses loaded chemicals via an arm-mounted injector."
-
- var/max_reagent_volume = 20 //Regen to this volume
- var/chems_to_use = 5 //Per injection
-
- charges = list(
- list("inaprovaline", "inaprovaline", 0, 20),
- list("anti_toxin", "anti_toxin", 0, 20),
- list("paracetamol", "paracetamol", 0, 20),
- list("dexalin", "dexalin", 0, 20)
- )
-
-/obj/item/rig_module/rescue_pharm/process()
- . = ..()
- if(active)
- var/did_work = 0
-
- for(var/charge in charges)
- var/datum/rig_charge/C = charges[charge]
-
- //Found one that isn't full
- if(C.charges < max_reagent_volume)
- did_work = 1
- C.charges += 1
- break
-
- if (!did_work)
- deactivate() //All done
-
-/obj/item/rig_module/rescue_pharm/engage(atom/target)
- if(!target)
- return 1 //You're just toggling the module on, not clicking someone.
-
- var/mob/living/carbon/human/H = holder.wearer
-
- if(!charge_selected)
- to_chat(H,"You have not selected a chemical type.")
- return 0
-
- var/datum/rig_charge/charge = charges[charge_selected]
-
- if(!charge)
- return 0
-
- if(charge.charges <= 0)
- to_chat(H,"Insufficient chems!")
- return 0
-
- else if(charge.charges < chems_to_use)
- chems_to_use = charge.charges
-
- var/mob/living/carbon/target_mob
- if(istype(target,/mob/living/carbon))
- target_mob = target
- else
- return 0
-
- to_chat(H,"You inject [target_mob == H ? "yourself" : target_mob] with [chems_to_use] unit\s of [charge.short_name].")
- to_chat(target_mob,"You feel a rushing in your veins as you're injected by \the [src].")
- target_mob.reagents.add_reagent(charge.display_name, chems_to_use)
-
- charge.charges -= chems_to_use
- if(charge.charges < 0) charge.charges = 0
-
- return 1
diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm b/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm
new file mode 100644
index 00000000000..d3c840a12fd
--- /dev/null
+++ b/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm
@@ -0,0 +1,80 @@
+/obj/item/rig_module/rescue_pharm
+ name = "micro-pharmacy"
+ desc = "A small chemical dispenser with integrated micro cartridges."
+ usable = 0
+ selectable = 1
+ disruptive = 1
+ toggleable = 1
+
+ use_power_cost = 0
+ active_power_cost = 5
+
+ activate_string = "Enable Regen"
+ deactivate_string = "Disable Regen"
+
+ interface_name = "mounted chem injector"
+ interface_desc = "Dispenses loaded chemicals via an arm-mounted injector."
+
+ var/max_reagent_volume = 20 //Regen to this volume
+ var/chems_to_use = 5 //Per injection
+
+ charges = list(
+ list("inaprovaline", "inaprovaline", 0, 20),
+ list("anti_toxin", "anti_toxin", 0, 20),
+ list("paracetamol", "paracetamol", 0, 20),
+ list("dexalin", "dexalin", 0, 20)
+ )
+
+/obj/item/rig_module/rescue_pharm/process()
+ . = ..()
+ if(active)
+ var/did_work = 0
+
+ for(var/charge in charges)
+ var/datum/rig_charge/C = charges[charge]
+
+ //Found one that isn't full
+ if(C.charges < max_reagent_volume)
+ did_work = 1
+ C.charges += 1
+ break
+
+ if (!did_work)
+ deactivate() //All done
+
+/obj/item/rig_module/rescue_pharm/engage(atom/target)
+ if(!target)
+ return 1 //You're just toggling the module on, not clicking someone.
+
+ var/mob/living/carbon/human/H = holder.wearer
+
+ if(!charge_selected)
+ to_chat(H,"You have not selected a chemical type.")
+ return 0
+
+ var/datum/rig_charge/charge = charges[charge_selected]
+
+ if(!charge)
+ return 0
+
+ if(charge.charges <= 0)
+ to_chat(H,"Insufficient chems!")
+ return 0
+
+ else if(charge.charges < chems_to_use)
+ chems_to_use = charge.charges
+
+ var/mob/living/carbon/target_mob
+ if(istype(target,/mob/living/carbon))
+ target_mob = target
+ else
+ return 0
+
+ to_chat(H,"You inject [target_mob == H ? "yourself" : target_mob] with [chems_to_use] unit\s of [charge.short_name].")
+ to_chat(target_mob,"You feel a rushing in your veins as you're injected by \the [src].")
+ target_mob.reagents.add_reagent(charge.display_name, chems_to_use)
+
+ charge.charges -= chems_to_use
+ if(charge.charges < 0) charge.charges = 0
+
+ return 1
diff --git a/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm b/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm
index 034ea31865f..14b1e1d98f6 100644
--- a/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm
+++ b/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm
@@ -6,7 +6,7 @@
initial_modules = list(
/obj/item/rig_module/maneuvering_jets,
- /obj/item/rig_module/grenade_launcher/cleaner,
+ /obj/item/rig_module/cleaner_launcher,
)
/obj/item/weapon/rig/ert/assetprotection