#14067 needed to be reverted in #14736 because it broke binary compatibility between patch releases. We can merge it again before 3.2