1.6+
Sync with upstream