diff --git a/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp b/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
index edf2e84f53ac488fffae47f8d20d4cdeed8e3fdd..7c306e487d81a8927021eb06182b81b5194f82e6 100644
--- a/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
+++ b/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
@@ -632,7 +632,9 @@ void SchedulableDevice::HW2HTML(std::ofstream &myfile) const
       std::cout << "CPU:calcSTL: html of CPU " << _name << ": " << (*i)->toString() << std::endl;
       // if( (*i)->getTransactCoreNumber() == this->_cycleTime ){
       TMLTransaction *aCurrTrans = *i;
-      unsigned int aBlanks = aCurrTrans->getStartTime() - aCurrTime;
+      unsigned int penLength = aCurrTrans->getPenalties();
+      unsigned long beg = aCurrTrans->getStartTime() - penLength;
+      unsigned int aBlanks = beg - aCurrTime;
       bool isBlankTooBig = false;
       std::ostringstream tempString;
       int tempBlanks;