Back-merge from master (for cleaner pull request)