Index: trunk/modules/vci_mem_cache_v4/caba/source/src/vci_mem_cache_v4.cpp
===================================================================
--- trunk/modules/vci_mem_cache_v4/caba/source/src/vci_mem_cache_v4.cpp	(revision 4)
+++ trunk/modules/vci_mem_cache_v4/caba/source/src/vci_mem_cache_v4.cpp	(revision 5)
@@ -1291,5 +1291,10 @@
 
           if ( no_update )      r_write_fsm = WRITE_RSP;
-          else                  r_write_fsm = WRITE_UPT_LOCK;
+          else                  
+            if( !r_write_to_init_cmd_multi_req.read() && 
+              !r_write_to_init_cmd_brdcast_req.read()  )
+                r_write_fsm = WRITE_UPT_LOCK;
+            else
+                r_write_fsm = WRITE_WAIT;
           break;
         }
@@ -2728,5 +2733,10 @@
             std::cout << "SC, shared line" << std::endl;
 #endif
-            r_llsc_fsm = SC_UPT_LOCK;
+
+            if( !r_llsc_to_init_cmd_multi_req.read() && 
+                !r_llsc_to_init_cmd_brdcast_req.read()  )
+                r_llsc_fsm = SC_UPT_LOCK;
+            else
+                r_llsc_fsm = SC_WAIT;
           } else {
             r_llsc_fsm = SC_RSP_TRUE;
