backport from ma