diff --git a/VectoConsole/Properties/Version.cs b/VectoConsole/Properties/Version.cs
index 2eeeb70dd05dbc02954cc3c90ef3fc5113e7dac3..dca748d3420fe97dedcac25efe0599b1f4fbd967 100644
--- a/VectoConsole/Properties/Version.cs
+++ b/VectoConsole/Properties/Version.cs
@@ -30,5 +30,5 @@
 */
 
 using System.Reflection;
-[assembly: AssemblyVersion("3.0.2.448")]
-[assembly: AssemblyFileVersion("3.0.2.448")]
+[assembly: AssemblyVersion("3.0.2.456")]
+[assembly: AssemblyFileVersion("3.0.2.456")]
diff --git a/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs b/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs
index c1dd3a7326b455662e56e8f19bedcb099b32157d..d5acc21e4cd5b1376b862d4aa6979a473977e2eb 100644
--- a/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs
+++ b/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs
@@ -44,7 +44,9 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 {
 	public class DeclarationModeVectoRunDataFactory : LoggingObject, IVectoRunDataFactory
 	{
-		protected static Dictionary<MissionType, DrivingCycleData> CyclesCache =
+		private static readonly object CyclesCacheLock = new object();
+
+		private static readonly Dictionary<MissionType, DrivingCycleData> CyclesCache =
 			new Dictionary<MissionType, DrivingCycleData>();
 
 		protected IDeclarationInputDataProvider InputDataProvider;
@@ -88,11 +90,13 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 
 			foreach (var mission in segment.Missions) {
 				DrivingCycleData cycle;
-				if (CyclesCache.ContainsKey(mission.MissionType)) {
-					cycle = CyclesCache[mission.MissionType];
-				} else {
-					cycle = DrivingCycleDataReader.ReadFromStream(mission.CycleFile, CycleType.DistanceBased, "", false);
-					CyclesCache.Add(mission.MissionType, cycle);
+				lock (CyclesCacheLock) {
+					if (CyclesCache.ContainsKey(mission.MissionType)) {
+						cycle = CyclesCache[mission.MissionType];
+					} else {
+						cycle = DrivingCycleDataReader.ReadFromStream(mission.CycleFile, CycleType.DistanceBased, "", false);
+						CyclesCache.Add(mission.MissionType, cycle);
+					}
 				}
 				foreach (var loading in mission.Loadings) {
 					var simulationRunData = new VectoRunData {
diff --git a/VectoCore/Properties/Version.cs b/VectoCore/Properties/Version.cs
index 2eeeb70dd05dbc02954cc3c90ef3fc5113e7dac3..dca748d3420fe97dedcac25efe0599b1f4fbd967 100644
--- a/VectoCore/Properties/Version.cs
+++ b/VectoCore/Properties/Version.cs
@@ -30,5 +30,5 @@
 */
 
 using System.Reflection;
-[assembly: AssemblyVersion("3.0.2.448")]
-[assembly: AssemblyFileVersion("3.0.2.448")]
+[assembly: AssemblyVersion("3.0.2.456")]
+[assembly: AssemblyFileVersion("3.0.2.456")]