Fix #2471 merging with defaults

This is basically the same solution as #2262. Definitely open to some better ideas that don't have to mutate `options`.