Yes, there is something wrong with this sentence, and it does have to do with omitting the subject in the second clause. "But" is a coordinate conjunction which (like "and" and "or") connects phrases of the same type. It can connect two sentences, two verb phrases, or two of various other things. In your example, since the subject of the second clause is omitted, "but" must be connecting two verb phrases.
Now, coordinate constructions have a peculiar property, discovered and investigated by John Ross, which he called the Coordinate Structure Constraint (CSC). As McCawley phrases it, it requires both parts of a coordinate structure to be treated equally by any grammatical process. I think that is what has gone wrong in your example: the first verb phrase of the two that are connected with "but" is not treated the same way as the second one.
The "s" at the end of "likes" expresses the present tense of the verb, of course, and although in the second verb phrase, it appears at the end of the verb where it belongs, in the first verb phrase it is missing. The "s" present ending in the first verb phrase had to be moved to the left, because of the "not", and the auxiliary verb "do" was added to carry the tense.
The CSC does not allow this, because the "s" was moved away from the verb of the first verb phrase, but the same thing did not happen to the corresponding verb of the second verb phrase.
This was a difficult example, and I hope I got it right.