Index: trunk/modules/vci_mem_cache/caba/source/src/vci_mem_cache.cpp
===================================================================
--- trunk/modules/vci_mem_cache/caba/source/src/vci_mem_cache.cpp	(revision 523)
+++ trunk/modules/vci_mem_cache/caba/source/src/vci_mem_cache.cpp	(revision 524)
@@ -2752,11 +2752,14 @@
 
                             if (not sc_success) r_write_fsm = WRITE_RSP;
-                            else               r_write_fsm = WRITE_DIR_LOCK;
+                            else                r_write_fsm = WRITE_DIR_LOCK;
                         }
                         else
                         {
                             // We enter here if it is a SW command or an already tested SC command 
+#define L2 soclib::common::uint32_log2
                             addr_t min = r_write_address.read();
-                            addr_t max = r_write_address.read() + r_write_word_count.read() - 1; 
+                            addr_t max = r_write_address.read() +
+                                       ((r_write_word_count.read()-1) << L2(vci_param_int::B));
+#undef L2
 
                             m_llsc_table.sw(min, max);
