diff -r 59a4f1a46aa6 -r 278054f709c9 src/mem/cache/cache_impl.hh --- a/src/mem/cache/cache_impl.hh Mon Mar 30 10:02:34 2015 +0100 +++ b/src/mem/cache/cache_impl.hh Mon Mar 30 10:03:02 2015 +0100 @@ -1976,7 +1976,7 @@ } else { BlkType *blk = tags->findBlock(mshr->blkAddr, mshr->isSecure); - if (tgt_pkt->cmd == MemCmd::HardPFReq) { + if (tgt_pkt->cmd == MemCmd::HardPFReq && forwardSnoops) { // We need to check the caches above us to verify that // they don't have a copy of this block in the dirty state // at the moment. Without this check we could get a stale