Campaign is not updating when the CRM information is updated

Campaign is not updating when the CRM information is updated

I have set up a synch for Contacts and Leads which is ok.
In the contacts module I have a custm field for a newsletter that is controlled by a workflow that adds the contact to the list when the newsletter check box is selected.
I also have a check box for List Opt-out so that I can manually Opt-out a Contact based on whether they are opening the emails. this is a manual process.

I have an issue where I have checked the List opt Out option but this is not updating the List in Campaign.

I have a workflow that adds the contact to a list based on their preferences. What do i need to do to remove them from a list? is there a workflow that I need to add to the existing one of a seperate workflow?

Thanks