diff --git a/code/game/objects/items/devices/scanners/health_analyzer.dm b/code/game/objects/items/devices/scanners/health_analyzer.dm
index 0ef37ba652a6..146d4b387395 100644
--- a/code/game/objects/items/devices/scanners/health_analyzer.dm
+++ b/code/game/objects/items/devices/scanners/health_analyzer.dm
@@ -164,6 +164,11 @@
else
render_list += "Subject has been husked.\n"
+ // monkestation edit: no-heal challenge
+ if(HAS_TRAIT(target, TRAIT_NO_HEALS))
+ render_list += "Subject cannot be healed by any known methods.\n"
+ // monkestation end
+
if(target.stamina.loss)
if(advanced)
render_list += "Fatigue level: [target.stamina.loss]%.\n"
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
index 579c3fa62cec..af1f78552796 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
@@ -298,6 +298,15 @@
radio.talk_into(src, msg, radio_channel)
return
+ // monkestation start: kick no-healers out
+ if(HAS_TRAIT(mob_occupant, TRAIT_NO_HEALS))
+ playsound(src, 'sound/machines/cryo_warning.ogg', volume)
+ radio.talk_into(src, "Patient is unable to be healed, ejecting.", radio_channel)
+ set_on(FALSE)
+ open_machine()
+ return
+ // monkerstation end
+
patient_dead = FALSE
if(mob_occupant.get_organic_health() >= mob_occupant.getMaxHealth()) // Don't bother with fully healed people.
diff --git a/monkestation/code/modules/surgery/healing.dm b/monkestation/code/modules/surgery/healing.dm
new file mode 100644
index 000000000000..1801bb4edf8b
--- /dev/null
+++ b/monkestation/code/modules/surgery/healing.dm
@@ -0,0 +1,4 @@
+/datum/surgery/healing/can_start(mob/user, mob/living/patient)
+ if(HAS_TRAIT(patient, TRAIT_NO_HEALS))
+ return FALSE
+ return ..()
diff --git a/tgstation.dme b/tgstation.dme
index 03945169b298..d06d5f9ad452 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -7860,6 +7860,7 @@
#include "monkestation\code\modules\storytellers\storytellers\vote.dm"
#include "monkestation\code\modules\storytellers\storytellers\warrior.dm"
#include "monkestation\code\modules\surgery\blood_filter.dm"
+#include "monkestation\code\modules\surgery\healing.dm"
#include "monkestation\code\modules\surgery\nif_debonding.dm"
#include "monkestation\code\modules\surgery\advanced\brainwashing.dm"
#include "monkestation\code\modules\surgery\bodyparts\arachnid_bodyparts.dm"