Backport to python 2.6