Merged with latest Marlin branch.