diff --git a/code/modules/mob/living/carbon/human/_species.dm b/code/modules/mob/living/carbon/human/_species.dm index fa67853e091f..4adb0b2160a9 100644 --- a/code/modules/mob/living/carbon/human/_species.dm +++ b/code/modules/mob/living/carbon/human/_species.dm @@ -422,9 +422,12 @@ GLOBAL_LIST_EMPTY(features_by_species) qdel(existing_organ) continue - if(!isnull(old_species) && !isnull(existing_organ)) - if(existing_organ.type != old_species.get_mutant_organ_type_for_slot(slot)) - continue // we don't want to remove organs that are not the default for this species + // we don't want to remove organs that are not the default for this species + if(!isnull(existing_organ)) + if(!isnull(old_species) && existing_organ.type != old_species.get_mutant_organ_type_for_slot(slot)) + continue + else if(!replace_current && existing_organ.type != get_mutant_organ_type_for_slot(slot)) + continue // at this point we already know new_organ is not null if(existing_organ?.type == new_organ)