Prevent concurrent cloning by reusing promise