diff --git a/code/game/objects/items/stacks/medical_packs.dm b/code/game/objects/items/stacks/medical_packs.dm
index 4680b1f9a1c..92d5ffed73f 100644
--- a/code/game/objects/items/stacks/medical_packs.dm
+++ b/code/game/objects/items/stacks/medical_packs.dm
@@ -155,20 +155,20 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/affecting = H.get_organ(user.zone_selected)
+ for(var/obj/item/organ/external/E in H.bodyparts)
+ if(E.open == ORGAN_ORGANIC_OPEN)
+ to_chat(user, "[E] is cut open, you'll need more than a bandage!")
+ return
+ affecting.germ_level = 0
- if(affecting.open == ORGAN_CLOSED)
- affecting.germ_level = 0
+ if(stop_bleeding)
+ if(!H.bleedsuppress) //so you can't stack bleed suppression
+ H.suppress_bloodloss(stop_bleeding)
- if(stop_bleeding)
- if(!H.bleedsuppress) //so you can't stack bleed suppression
- H.suppress_bloodloss(stop_bleeding)
+ heal(H, user)
- heal(H, user)
-
- H.UpdateDamageIcon()
- use(1)
- else
- to_chat(user, "[affecting] is cut open, you'll need more than a bandage!")
+ H.UpdateDamageIcon()
+ use(1)
/obj/item/stack/medical/bruise_pack/improvised
name = "improvised gauze"
diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm
index 7a411bb967b..8c8a2906680 100644
--- a/code/modules/surgery/generic.dm
+++ b/code/modules/surgery/generic.dm
@@ -39,6 +39,7 @@
" You have made an incision on [target]'s [affected.name] with \the [tool]."
)
affected.open = ORGAN_ORGANIC_OPEN
+ target.resume_bleeding()
return SURGERY_STEP_CONTINUE
/datum/surgery_step/generic/cut_open/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/modules/surgery/organs/blood.dm b/code/modules/surgery/organs/blood.dm
index e3353fb6b81..c3b4c13111f 100644
--- a/code/modules/surgery/organs/blood.dm
+++ b/code/modules/surgery/organs/blood.dm
@@ -12,9 +12,9 @@
addtimer(CALLBACK(src, PROC_REF(resume_bleeding)), amount)
/mob/living/carbon/human/proc/resume_bleeding()
- bleedsuppress = FALSE
- if(stat != DEAD && bleed_rate)
+ if(stat != DEAD && bleed_rate && bleedsuppress)
to_chat(src, "The blood soaks through your bandage.")
+ bleedsuppress = FALSE
// Takes care blood loss and regeneration
/mob/living/carbon/human/handle_blood()