bugfix, idempotent condition