fix: prevent double soft_removing