Issue with handling erroneous messages having '&' in payload

Please review and commit this pull request