Thank you for your contribution! What I see from the changes you explicitly set ptr->parsed = NULL. If you check the func "int parse_contact(struct hdr_field* _h)" there is a memory allocation for the contact body: `row 76: b = (contact_body_t*)pkg_malloc(sizeof(contact_body_t)); ` It is possible to lead to a memory leak. I have suspicions that the old code works fine, but the problem, in general, is somewhere else. Maybe where the parsed contact is stored before in-dialog replies or where parsed contact is freed but not set to NULL/0.