diff -r a66a254edc76 -r 16e387c1dc96 src/mem/cache/cache_impl.hh --- a/src/mem/cache/cache_impl.hh Fri Sep 09 16:49:42 2011 -0500 +++ b/src/mem/cache/cache_impl.hh Fri Sep 09 16:49:44 2011 -0500 @@ -1437,7 +1437,8 @@ PacketPtr pkt = prefetcher->getPacket(); if (pkt) { Addr pf_addr = blockAlign(pkt->getAddr()); - if (!tags->findBlock(pf_addr) && !mshrQueue.findMatch(pf_addr)) { + if (!tags->findBlock(pf_addr) && !mshrQueue.findMatch(pf_addr) && + !writeBuffer.findMatch(pf_addr)) { // Update statistic on number of prefetches issued // (hwpf_mshr_misses) mshr_misses[pkt->cmdToIndex()][0/*pkt->req->threadId()*/]++;