fix a bug where cheap updates were lost

Cheap updates were lost when non-cheap updates were performed afterwards
since the (old) source for the cheaply updated variable was still
cached.