diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index 809786b6..566ee166 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -64,6 +64,24 @@
item_state = "glasses"
prescription = 1
+/obj/item/clothing/glasses/regular/attackby(obj/item/weapon/W as obj, mob/user as mob)
+ if(istype(W, /obj/item/clothing/glasses/hud/health))
+ user.drop_item()
+ del(W)
+ user << "You attach a set of medical HUDs to your glasses."
+ var/turf/T = get_turf(src)
+ new /obj/item/clothing/glasses/hud/health/prescription(T)
+ user.drop_from_inventory(src)
+ del(src)
+ if(istype(W, /obj/item/clothing/glasses/hud/security))
+ user.drop_item()
+ del(W)
+ user << "You attach a set of security HUDs to your glasses."
+ var/turf/T = get_turf(src)
+ new /obj/item/clothing/glasses/hud/security/prescription(T)
+ user.drop_from_inventory(src)
+ del(src)
+
/obj/item/clothing/glasses/regular/hipster
name = "Prescription Glasses"
desc = "Made by Uncool. Co."
diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm
index 8535176e..a3ac3d7f 100644
--- a/code/modules/clothing/glasses/hud.dm
+++ b/code/modules/clothing/glasses/hud.dm
@@ -27,12 +27,41 @@
C.images += patient.hud_list[HEALTH_HUD]
C.images += patient.hud_list[STATUS_HUD]
+/obj/item/clothing/glasses/hud/health/prescription
+ name = "prescription glasses/HUD assembly"
+ desc = "A medical HUD clipped onto the side of prescription glasses."
+ prescription = 1
+ icon_state = "healthhudpresc"
+ item_state = "healthhudpresc"
+
+/obj/item/clothing/glasses/hud/health/prescription/attack_self(mob/user)
+ user << "You detach a set of medical HUDs form your glasses."
+ var/turf/T = get_turf(src)
+ new /obj/item/clothing/glasses/hud/health(T)
+ new /obj/item/clothing/glasses/regular(T)
+ user.drop_item(src)
+ del(src)
/obj/item/clothing/glasses/hud/security
name = "Security HUD"
desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status and security records."
icon_state = "securityhud"
- var/global/list/jobs[0]
+ var/global/list/jobs[0]
+
+/obj/item/clothing/glasses/hud/security/prescription
+ name = "prescription glasses/HUD assembly"
+ desc = "A security HUD clipped onto the side of prescription glasses."
+ prescription = 1
+ icon_state = "sechudpresc"
+ item_state = "sechudpresc"
+
+/obj/item/clothing/glasses/hud/security/prescription/attack_self(mob/user)
+ user << "You detach a set of medical HUDs form your glasses."
+ var/turf/T = get_turf(src)
+ new /obj/item/clothing/glasses/hud/health(T)
+ new /obj/item/clothing/glasses/regular(T)
+ user.drop_item(src)
+ del(src)
/obj/item/clothing/glasses/hud/security/jensenshades
name = "Augmented shades"
diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi
index 4c6ab6db..cd1c65a5 100644
Binary files a/icons/mob/eyes.dmi and b/icons/mob/eyes.dmi differ
diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi
index 4c32803e..e47b8a70 100644
Binary files a/icons/obj/clothing/glasses.dmi and b/icons/obj/clothing/glasses.dmi differ