Index: /trunk/modules/vci_cc_vcache_wrapper_v4/caba/source/src/vci_cc_vcache_wrapper_v4.cpp
===================================================================
--- /trunk/modules/vci_cc_vcache_wrapper_v4/caba/source/src/vci_cc_vcache_wrapper_v4.cpp	(revision 219)
+++ /trunk/modules/vci_cc_vcache_wrapper_v4/caba/source/src/vci_cc_vcache_wrapper_v4.cpp	(revision 220)
@@ -3649,8 +3649,9 @@
         if ( r_dcache_in_tlb[way*m_dcache_sets+set] ) 
         {
+            r_dcache_in_tlb[way*m_dcache_sets+set] = false;
             r_dcache_tlb_inval_line  = nline;
             r_dcache_tlb_inval_count = 0;
             r_dcache_fsm_scan_save   = DCACHE_MISS_WAIT;
-            r_dcache_in_tlb[way*m_dcache_sets+set] = false;
+            r_dcache_fsm             = DCACHE_INVAL_TLB_SCAN;
         }
         else if ( r_dcache_contains_ptd[way*m_dcache_sets+set] ) 
@@ -4136,4 +4137,5 @@
             r_itlb.reset();
             r_dtlb.reset();
+            r_dcache_contains_ptd[way*m_dcache_sets+set] = false;
             r_tgt_dcache_rsp = true;
             r_tgt_dcache_req = false;
@@ -4185,5 +4187,5 @@
             r_dcache_fsm     = r_dcache_fsm_cc_save.read();
         }
-        else							// no inval / no flush
+        else							// no inval & no flush
         {
             r_dcache.write( way,
