s imagens foram embaralhadas ao rolar um ListView com um ViewHolder

Meu problema é conectado quando o usuário rola o ListView. Olhei em volta e vi vários exemplos de 'imagem preguiçosa de listview', também assisti ao vídeo do IO do Google, que fala de 'boas práticas' para fazer isso funcionar. Mas meu problema continua quando o usuário move para cima e para baixo no ListView.

O que acontece é que, ao rolar a lista, as imagens carregadas em cada item são embaralhadas e o avatar de cada item, indo para o próximo item, termina. Não sei se estou sendo claro, mas mostrarei com a imagem.

Quando você inicia, os itens que não têm imagem permanecem com a imagem padrã

Imagem 1:http: //boxandroid.com/app/weguide/itsok.pn Antes do usuário rolar o ListView:http: //boxandroid.com/app/weguide/nook.pn

Observe que as fotos foram embaralhadas entre outros iten

no meu adaptador:

public View getView(int position, View convertView, ViewGroup parent){

    ViewHolder viewHolder = new ViewHolder();
    if(convertView == null){
        convertView = _inflate.inflate(R.layout.layout_list, null);
        viewHolder.text = (TextView) convertView.findViewById(R.id.title);
        viewHolder.owner = (TextView) convertView.findViewById(R.id.owner);
        viewHolder.image = (ImageView) convertView.findViewById(R.id.thumb);
        convertView.setTag(viewHolder);
    }else{
        viewHolder = (ViewHolder) convertView.getTag();
    }

    HashMap<String, String> item = (HashMap<String, String>) getItem(position);

    viewHolder.text.setText( item.get("poiName").toString() );
    viewHolder.owner.setText( item.get("owner").toString() );

    ImageView imageView = viewHolder.image;
    imageView.setTag(item.get("thumbs"));

    if(!item.get("thumbs").equals("null")){
        Drawable cacheImage = loader.loadDrawable(item.get("thumbs"), new ImageManage.ImageCallback() {
            public void imageLoaded(Drawable imageDrawable, String imageUrl) {
                ImageView imageViewByTag = (ImageView) _listView.findViewWithTag(imageUrl);
                if(imageViewByTag != null)
                    imageViewByTag.setBackgroundDrawable(imageDrawable);
            }
        });
        imageView.setImageDrawable(cacheImage);
        notifyDataSetChanged();
    }

    return convertView;
}

questionAnswers(2)

yourAnswerToTheQuestion