merge with DMC changes
Merge pull request #3012 from WalterBright/merge-with-dmc

merge with DMC changes