As the L1 requestor is registered only after the value is retrieved from data container, the (transactional) update of the value may not invalide the entry after write and the cache gets inconsistent.
Consider this interleaving of operations (G=get request from other node, C=commit)
R: read value -> old value
C: update old -> new
C: notify requestors for key
R: add requestor for key