diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs
index 424e42675af0b118fa62556b85e7a1cc3d86777b..5e156498f1e7884bf7d07737a278a463ca129b65 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs
@@ -38,6 +38,7 @@ using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.Connector.Ports;
 using TUGraz.VectoCore.Models.Connector.Ports.Impl;
+using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.DataBus;
@@ -134,6 +135,18 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 					DeltaT = CycleIterator.RightSample.Time - absTime
 				};
 			}
+			if (Constants.SimulationSettings.MeasuredSpeedTargetTimeInterval.IsEqual(dt)) {
+				if ((CycleIterator.RightSample.Time - (absTime + dt)) > 0 && (CycleIterator.RightSample.Time - (absTime + dt)) /
+					Constants.SimulationSettings.MeasuredSpeedTargetTimeInterval < 0.5) {
+					// the remaining simulation interval would be below 0.5 seconds (i.e., half of MeasuredSpeedTargetTimeInterval)
+					// reduce the current simulation interval to extend the remaining interval
+					return new ResponseFailTimeInterval {
+						AbsTime = absTime,
+						Source = this,
+						DeltaT = (CycleIterator.RightSample.Time - absTime)/2
+					};
+				}
+			}
 
 			// calc acceleration from speed diff vehicle to cycle
 			var targetSpeed = CycleIterator.RightSample.VehicleTargetSpeed;
@@ -141,7 +154,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				targetSpeed = 0.KMPHtoMeterPerSecond();
 			}
 			var deltaV = targetSpeed - DataBus.VehicleSpeed;
-			var deltaT = CycleIterator.RightSample.Time - CycleIterator.LeftSample.Time;
+			var deltaT = CycleIterator.RightSample.Time - absTime;
 
 			if (DataBus.VehicleSpeed.IsSmaller(0)) {
 				throw new VectoSimulationException("vehicle velocity is smaller than zero");
diff --git a/VectoCore/VectoCoreTest/Models/Simulation/MeasuredSpeedModeTest.cs b/VectoCore/VectoCoreTest/Models/Simulation/MeasuredSpeedModeTest.cs
index 67595e7a88f655313e225e6c4a9e2a9f2043f5d0..4aae8a546732f45ba6f97b5536a9dd103febb2d7 100644
--- a/VectoCore/VectoCoreTest/Models/Simulation/MeasuredSpeedModeTest.cs
+++ b/VectoCore/VectoCoreTest/Models/Simulation/MeasuredSpeedModeTest.cs
@@ -32,6 +32,7 @@
 using NUnit.Framework;
 using System.Collections.Generic;
 using System.Data;
+using System.IO;
 using System.Linq;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Models;
@@ -60,6 +61,13 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 	[TestFixture]
 	public class MeasuredSpeedModeTest
 	{
+
+		[OneTimeSetUp]
+		public void Init()
+		{
+			Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
+		}
+
 		/// <summary>
 		/// Test if the cycle file can be read.
 		/// </summary>