since 73f6feb, one unittest still broke.
and sometimes this patch can make hard to find abnormal code bug cases.
in patch code review, @alexeyPetrushin reported original code make strange bugs with old code set
so we need discussion about revert this patch or not.