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 527)
+++ trunk/modules/vci_mem_cache/caba/source/src/vci_mem_cache.cpp	(revision 529)
@@ -2731,5 +2731,11 @@
                     r_write_be[index]   = m_cmd_write_be_fifo.read();
                     r_write_data[index] = m_cmd_write_data_fifo.read();
-                    r_write_word_count  = r_write_word_count.read() + 1;
+
+                    // the first flit of a SC command is the reservation key and
+                    // therefore it must not be counted as a data to write
+                    if (not is_sc)
+                    {
+                        r_write_word_count = r_write_word_count.read() + 1;
+                    }
 
                     if (m_cmd_write_eop_fifo.read()) r_write_fsm = WRITE_DIR_REQ;
