solution depends on current implementation, but below is a concept how to fix it
Calculate the amount of frames due to Poison duration. Calculate the Damage per Frame.
Poison should stack up to n times (where n=5…10).
Each extra poison damage per frame before adding should be multiplied by pow(0.5, counter).
Order of applying dmg preferably should be calculated from the original biggest dmg value.