This commit makes sure we preserve map keys no matter what. Closes #3552. Original pull request: #3565.