Index: branches/RWT/modules/vci_mem_cache/caba/source/src/vci_mem_cache.cpp
===================================================================
--- branches/RWT/modules/vci_mem_cache/caba/source/src/vci_mem_cache.cpp	(revision 901)
+++ branches/RWT/modules/vci_mem_cache/caba/source/src/vci_mem_cache.cpp	(revision 909)
@@ -1784,10 +1784,6 @@
                     cmd_write_fifo_put = true;
                     // <Activity counters>
-                    if (p_vci_tgt.cmd.read() == vci_param_int::CMD_NOP)
-                    {
-                        // (2 (CMD) + 1 (RSP)) flits VCI => 4 + (1 (success) || 2 (failure)) flits dspin
-                        m_cpt_sc_cost += 5 * req_distance(p_vci_tgt.srcid.read());
-                    }
-                    else {
+                    if (p_vci_tgt.cmd.read() != vci_param_int::CMD_NOP)
+                    {
                         if (is_local_req(p_vci_tgt.srcid.read()))
                         {
@@ -1798,6 +1794,4 @@
                             m_cpt_write_flits_remote++;
                         }
-                        // (burst_size (CMD) + 1 (RSP) flits VCI => 2 + burst_size + 1 flits dspin
-                        m_cpt_write_cost += (3 + (plen >> 2)) * req_distance(p_vci_tgt.srcid.read());
                     }
                     // </Activity counters>
@@ -1808,4 +1802,7 @@
                         if (p_vci_tgt.cmd.read() == vci_param_int::CMD_NOP)
                         {
+                            // SC
+                            // (2 (CMD) + 1 (RSP)) flits VCI => 4 + (1 (success) || 2 (failure)) flits dspin
+                            m_cpt_sc_cost += 5 * req_distance(p_vci_tgt.srcid.read());
                             if (is_local_req(p_vci_tgt.srcid.read()))
                             {
@@ -1818,4 +1815,8 @@
                         }
                         else {
+                            // Writes
+                            // (burst_size + 1 (CMD) + 1 (RSP)) flits VCI => 2 + burst_size + 1 flits dspin
+                            m_cpt_write_cost += (3 + (plen >> 2)) * req_distance(p_vci_tgt.srcid.read());
+
                             if (is_local_req(p_vci_tgt.srcid.read()))
                             {
