Erro ao tentar tachar um texto

Boa tar à todos;

Estou tentando tachar um texto de uma linha do listview dessa forma:

if(ent.getFlag() == 0){
    TextView lanc = (TextView) layout.findViewById(R.id.descricao_lancamento_id);
    lanc.setPaintFlags(lanc.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
    lanc.setText(ent.getDescricao());
} else {
    ((TextView) layout.findViewById(R.id.descricao_lancamento_id)).setText(ent.getDescricao());
}

Está funcionando bem até a lista ficar maior que o tamanho da tela, quando eu rolo o listview algumas linhas tbm ficam tachadas, linhas que não deveriam ficar, poís a FLAG ali já faz a seleção.

O que pode estar acontecendo??

Valeu

RESOLVIDO:

if(ent.getFlag() == 0){
    TextView lanc = (TextView) layout.findViewById(R.id.descricao_lancamento_id);
    lanc.setPaintFlags(lanc.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
    lanc.setText(ent.getDescricao());
} else {
    TextView lanc = (TextView) layout.findViewById(R.id.descricao_lancamento_id);
    lanc.setPaintFlags(lanc.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
    lanc.setText(ent.getDescricao());
}