fix concurrent access to payload