I do not see a clear way to avoid this duplication in 3.2 implementation (without more drastic changes in behavior).