backport to precise