Isn't that what should happen? What could it do instead other than break if the intermediate model is null?

I just replied to another post where you asked a related question - we could continue this conversation there if you like. I tried to give a full example of a) why this must happen, and b) how to build your own ValueProvider with custom behavior.