dirty (reverse-merged from commit ad757005371e5adf7e67f31f113fc57cdf7b323f)