Some runtime data that stores which sockets can be fields and which
can't is not stored in the file, but only calculated when necessary.
When opening a file, the node tree update function was called, which
recalculated this data, but that was explicily turned off for undo.
I think this makes sense for the future, since we'll probably want to
move more things on bNodeTree to a runtime storage anyway.