diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DrivingCycleProxy.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DrivingCycleProxy.cs
index 079964e83be8668b3bbbaa065c070b99baa3f002..0045ee7d7c34262053f82ee5239ca158eb355d10 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DrivingCycleProxy.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DrivingCycleProxy.cs
@@ -46,7 +46,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 		}
 
 		[JsonIgnore]
-		public List<DrivingCycleData.DrivingCycleEntry> Entries { get; private set; }
+		public List<DrivingCycleData.DrivingCycleEntry> Entries { get; protected internal set; }
 
 		public string Name { get; private set; }
 
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs
index 2da207c37a29e28851c8ec8121a92753b9eb0cd3..f939777d2f6a43bde3398def11fbeec6671588d4 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs
@@ -99,6 +99,18 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 
 		public IResponse Initialize()
 		{
+			CycleStartDistance = Data.Entries.Count > 0 ? Data.Entries.First().Distance : 0.SI<Meter>();
+			CycleEndDistance = Data.Entries.Count > 0 ? Data.Entries.Last().Distance : 0.SI<Meter>();
+			var first = Data.Entries.First();
+			PreviousState = new DrivingCycleState {
+				AbsTime = 0.SI<Second>(),
+				WaitTime = 0.SI<Second>(),
+				Distance = first.Distance,
+				Altitude = first.Altitude,
+				VehicleTargetSpeed = Data.Entries.First().VehicleTargetSpeed
+			};
+			CurrentState = PreviousState.Clone();
+
 			if (Left.VehicleTargetSpeed.IsEqual(0)) {
 				var retVal = NextComponent.Initialize(StartSpeed,
 					Left.RoadGradient, StartAcceleration);