Updated from commit 22c63e743a60c040d75902a0779f6d5f2862c9de.