Idempotent

@mmalecki Any reason not to merge this?