diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm
index f0df15af4fe..fe4c1088885 100644
--- a/code/game/machinery/adv_med.dm
+++ b/code/game/machinery/adv_med.dm
@@ -389,6 +389,8 @@
organStatus["splinted"] = 1
if(E.status & ORGAN_BLEEDING)
organStatus["bleeding"] = 1
+ if(E.status & ORGAN_DEAD)
+ organStatus["dead"] = 1
organData["status"] = organStatus
@@ -415,6 +417,7 @@
organData["bruised"] = I.min_broken_damage
organData["broken"] = I.min_bruised_damage
organData["robotic"] = I.robotic
+ organData["dead"] = (I.status & ORGAN_DEAD)
intOrganData.Add(list(organData))
diff --git a/code/modules/reagents/oldchem/reagents/reagents_med.dm b/code/modules/reagents/oldchem/reagents/reagents_med.dm
index ae6fd9bb8a3..63318122b4f 100644
--- a/code/modules/reagents/oldchem/reagents/reagents_med.dm
+++ b/code/modules/reagents/oldchem/reagents/reagents_med.dm
@@ -87,6 +87,11 @@
..()
return
+/datum/reagent/mitocholide/reaction_obj(var/obj/O, var/volume)
+ if(istype(O, /obj/item/organ))
+ var/obj/item/organ/Org = O
+ Org.rejuvenate()
+
/datum/reagent/cryoxadone
name = "Cryoxadone"
id = "cryoxadone"
diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm
index 0335acd1f65..c912fb1a013 100644
--- a/code/modules/surgery/organs/organ.dm
+++ b/code/modules/surgery/organs/organ.dm
@@ -57,7 +57,10 @@ var/list/organ_cache = list()
/obj/item/organ/proc/set_dna(var/datum/dna/new_dna)
if(new_dna)
dna = new_dna.Clone()
- blood_DNA = list()
+ if(blood_DNA)
+ blood_DNA.Cut()
+ else
+ blood_DNA = list()
blood_DNA[dna.unique_enzymes] = dna.b_type
/obj/item/organ/proc/die()
@@ -173,6 +176,9 @@ var/list/organ_cache = list()
/obj/item/organ/proc/rejuvenate()
damage = 0
germ_level = 0
+ status &= ~ORGAN_DEAD
+ if(!owner)
+ processing_objects |= src
/obj/item/organ/proc/is_damaged()
return damage > 0
diff --git a/nano/templates/adv_med.tmpl b/nano/templates/adv_med.tmpl
index 017abaad0cb..66650e62f86 100644
--- a/nano/templates/adv_med.tmpl
+++ b/nano/templates/adv_med.tmpl
@@ -174,6 +174,7 @@ Used In File(s): \code\game\machinery\adv_med.dm
{{if value.status.splinted}} splinted
{{/if}}
{{if value.status.robotic}} robotic
{{/if}}
+ {{if value.status.dead}} DEAD
@@ -220,6 +221,7 @@ Used In File(s): \code\game\machinery\adv_med.dm
{{if value.robotic == 1}} robotic
{{/if}}
{{if value.robotic == 2}} assisted
{{/if}}
+ {{if value.dead}} DEAD
{{/if}}
{{/for}}