Using wait(valid) in monitor get double transaction

In reply to cgales:
Back to the original question, why using vif in sequence cause double transaction seen on monitor when using wait()?