This is the original, causing the problem (I'm on 2.3)
Code:
<if advanced='$Ring == 1'>
<!-- make sure we have an HP variable set for current subjob -->
<if Advanced='"$%SubJobRingHP" !="\$%SubJobRingHP"'>
<if Advanced='%HP > $%SubJobRingHP'>
<!-- if you have too much HP at the time of casting, equip minus hp -->
<equip set="MinusHP" />
</if>
</if>
<else>
<!-- if no HP amount is specified for the current subjob, just always equip minushp as precast -->
<equip set="MinusHP" />
</else>
<equip when="midcast">
<lring>Sorcerer's Ring</lring>
</equip>
</if>
And this below should fix your problem.
Code:
<if advanced='$Ring == 1'>
<if Advanced='%HP > $%SubJobRingHP'>
<equip set="MinusHP" />
</if>
<equip when="midcast">
<lring>Sorcerer's Ring</lring>
</equip>
</if>