diff --git a/simulators/c++2/src_simulator/app/TMLDelayCommand.cpp b/simulators/c++2/src_simulator/app/TMLDelayCommand.cpp
index ce22bd8feabc21b108d19fb7e0df65afaad44a78..27d254ab96133048a109cd13540f99dd74f4819e 100644
--- a/simulators/c++2/src_simulator/app/TMLDelayCommand.cpp
+++ b/simulators/c++2/src_simulator/app/TMLDelayCommand.cpp
@@ -47,7 +47,7 @@ TMLDelayCommand::TMLDelayCommand(ID iID, TMLTask* iTask,TMLLength iStatLength, A
 	if (!isActiveDelay){
 	    _isActiveDelay = false;
 	}else {
-	    _length = iStatLength;
+	  //_length = iStatLength;
 	    _isActiveDelay = true;
 	}
 	_type=ACT;
diff --git a/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java b/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java
index c9007790bd8ca541d1fe4cbfbc1b592d7b1db56e..0c0d7a9d1b59e4a147a248d72b7a8d834d95dbc5 100644
--- a/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java
+++ b/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java
@@ -561,7 +561,7 @@ public class MappedSystemCTask {
                         //action += "_endLastTransaction+=tmpDelayxy;"; // Take all delay totally idle for x units of time
                         action += "return tmpDelayxy;";
                     } else {
-                        action += "_endLastTransaction+=0;\nreturn 1;"; //consumes cycles
+                        action += "_endLastTransaction+=tmpDelayxy;\nreturn 1;"; //consumes cycles
                     }
 
                     delayLen = delay.getMaxDelay() + "*" + masterClockFreq + delay.getMasterClockFactor();
@@ -571,7 +571,7 @@ public class MappedSystemCTask {
                         //action += "_endLastTransaction+= myrand(tmpDelayxx,tmpDelayxy)"; // Take all delay totally idle for x units of time
                         action += "return myrand(tmpDelayxx,tmpDelayxy)";
                     } else {
-                        action += "_endLastTransaction+=0;\nreturn 1;"; //consumes cycles
+                        action += "_endLastTransaction+=tmpDelayxy;\nreturn 1;"; //consumes cycles
                     }
                     java.util.Random r = new  java.util.Random();
                     delayLen = String.valueOf(r.nextInt(Integer.valueOf(delay.getMaxDelay())-Integer.valueOf(delay.getMinDelay())) + Integer.valueOf(delay.getMinDelay())) + "*" + masterClockFreq + delay.getMasterClockFactor();