Handle the negative expectation case better in receive_message_chain