diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index d5750778a71..4f153b8ad86 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -162,12 +162,6 @@
if(100 to 200)
msg += "[t_He] [t_is] twitching ever so slightly.\n"
- if(gender_ambiguous) //someone fucked up a gender reassignment surgery
- if (gender == MALE)
- msg += "[t_He] has a strange feminine quality to [t_him].\n"
- else
- msg += "[t_He] has a strange masculine quality to [t_him].\n"
-
var/appears_dead = 0
if(stat == DEAD || (status_flags & FAKEDEATH))
appears_dead = 1
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index d4b6b9512b4..ada7a5cceaf 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -42,8 +42,6 @@ var/global/default_martial_art = new/datum/martial_art
var/special_voice = "" // For changing our voice. Used by a symptom.
- var/gender_ambiguous = 0 //if something goes wrong during gender reassignment this generates a line in examine
-
var/bleed_rate = 0 //how much are we bleeding
var/bleedsuppress = 0 //for stopping bloodloss, eventually this will be limb-based like bleeding
diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
index 405df161612..7ff2156e3d0 100644
--- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm
+++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
@@ -472,6 +472,20 @@
var/obj/item/slimepotion/docility/P = new /obj/item/slimepotion/docility
P.loc = get_turf(holder.my_atom)
+/datum/chemical_reaction/gender
+ name = "Gender Potion"
+ id = "m_gender"
+ result = null
+ required_reagents = list("blood" = 1)
+ result_amount = 1
+ required_container = /obj/item/slime_extract/pink
+ required_other = 1
+
+/datum/chemical_reaction/gender/on_reaction(datum/reagents/holder)
+ feedback_add_details("slime_cores_used","[type]")
+ var/obj/item/slimepotion/genderchange/G = new /obj/item/slimepotion/genderchange
+ G.loc = get_turf(holder.my_atom)
+
//Black
/datum/chemical_reaction/slimemutate2
name = "Advanced Mutation Toxin"
diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm
index 810d8aedba4..5534256453f 100644
--- a/code/modules/research/xenobiology/xenobiology.dm
+++ b/code/modules/research/xenobiology/xenobiology.dm
@@ -383,6 +383,30 @@
if(!uses)
qdel(src)
+/obj/item/slimepotion/genderchange
+ name = "gender change potion"
+ desc = "An interesting chemical mix that changes the biological gender of what its applied to. Cannot be used on things that lack gender entirely."
+ icon = 'icons/obj/chemical.dmi'
+ icon_state = "potlightpink"
+
+/obj/item/slimepotion/genderchange/attack(mob/living/L, mob/user)
+ if(!istype(L) || L.stat == DEAD)
+ user << "The potion can only be used on living things!"
+ return
+
+ if(L.gender != MALE && L.gender != FEMALE)
+ user << "The potion can only be used on gendered things!"
+ return
+
+ if(L.gender == MALE)
+ L.gender = FEMALE
+ L.visible_message("[L] suddenly looks more feminine!")
+ else
+ L.gender = MALE
+ L.visible_message("[L] suddenly looks more masculine!")
+ L.regenerate_icons()
+ qdel(src)
+
////////Adamantine Golem stuff I dunno where else to put it
// This will eventually be removed.
diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi
index 17c68ddb123..e7769484894 100644
Binary files a/icons/obj/chemical.dmi and b/icons/obj/chemical.dmi differ