diff --git a/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs b/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs
index 49162f70202fa017050312677cb9668aba050efe..d76d3222b802eabe037fafcda5df0f5730772c95 100644
--- a/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs
@@ -306,6 +306,15 @@ namespace TUGraz.VectoCore.InputData.Reader
 				return false;
 			}
 
+			if (first.AirSpeedRelativeToVehicle != null && second.AirSpeedRelativeToVehicle != null &&
+				!first.AirSpeedRelativeToVehicle.IsEqual(second.AirSpeedRelativeToVehicle)) {
+				return false;
+			}
+
+			if (!first.WindYawAngle.IsEqual(second.WindYawAngle)) {
+				return false;
+			}
+
 			return true;
 		}
 
diff --git a/VectoCore/VectoCoreTest/Models/Simulation/DrivingCycleTests.cs b/VectoCore/VectoCoreTest/Models/Simulation/DrivingCycleTests.cs
index d4a5acc09a4ac6b49ea5e95fc90f1743dcd32625..908703b4a5b63c7071ee99e510696ed1137bca36 100644
--- a/VectoCore/VectoCoreTest/Models/Simulation/DrivingCycleTests.cs
+++ b/VectoCore/VectoCoreTest/Models/Simulation/DrivingCycleTests.cs
@@ -379,6 +379,62 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			TestCycleRead(cycle, type, entryCount);
 		}
 
+
+		[TestCase()]
+		public void DrivingCycleRead_CompressEntries_TargetSpeedOnly()
+		{
+			var cycle = "<s>,<v>,<Grad>,<STOP>\n" +
+						" 1, 0,0,1\n" +
+						" 2,50,0,0\n" +
+						" 5,50,0,0\n" +
+						"50,50,0,0\n" +
+						"99,50,0,0";
+			var drivingCycle = DrivingCycleDataReader.ReadFromStream(cycle.ToStream(), CycleType.DistanceBased, "", false);
+			Assert.AreEqual(3, drivingCycle.Entries.Count);
+			Assert.AreEqual(1, drivingCycle.Entries[0].Distance.Value());
+			Assert.AreEqual(1, drivingCycle.Entries[1].Distance.Value());
+			Assert.AreEqual(99, drivingCycle.Entries[2].Distance.Value());
+		}
+
+		[TestCase()]
+		public void DrivingCycleRead_CompressEntries_TargetSpeedVAirBeta1()
+		{
+			var cycle = "<s>,<v>,<Grad>,<STOP>,vair_res,vair_beta\n" +
+						" 1, 0,0,1,30,10\n" +
+						" 2,50,0,0,30,10\n" +
+						" 5,50,0,0,30,15\n" +
+						"50,50,0,0,30,10\n" +
+						"99,50,0,0,30,15";
+			var drivingCycle = DrivingCycleDataReader.ReadFromStream(cycle.ToStream(), CycleType.DistanceBased, "", true);
+			Assert.AreEqual(5, drivingCycle.Entries.Count);
+
+			Assert.AreEqual(1, drivingCycle.Entries[0].Distance.Value());
+			Assert.AreEqual(1, drivingCycle.Entries[1].Distance.Value());
+			Assert.AreEqual(5, drivingCycle.Entries[2].Distance.Value());
+			Assert.AreEqual(50, drivingCycle.Entries[3].Distance.Value());
+			Assert.AreEqual(99, drivingCycle.Entries[4].Distance.Value());
+		}
+
+		[TestCase()]
+		public void DrivingCycleRead_CompressEntries_TargetSpeedVAirBeta2()
+		{
+			var cycle = "<s>,<v>,<Grad>,<STOP>,vair_res,vair_beta\n" +
+						" 1, 0,0,1,30,10\n" +
+						" 2,50,0,0,30,10\n" +
+						" 5,50,0,0,35,10\n" +
+						"50,50,0,0,30,10\n" +
+						"99,50,0,0,33,10";
+			var drivingCycle = DrivingCycleDataReader.ReadFromStream(cycle.ToStream(), CycleType.DistanceBased, "", true);
+			Assert.AreEqual(5, drivingCycle.Entries.Count);
+
+			Assert.AreEqual(1, drivingCycle.Entries[0].Distance.Value());
+			Assert.AreEqual(1, drivingCycle.Entries[1].Distance.Value());
+			Assert.AreEqual(5, drivingCycle.Entries[2].Distance.Value());
+			Assert.AreEqual(50, drivingCycle.Entries[3].Distance.Value());
+			Assert.AreEqual(99, drivingCycle.Entries[4].Distance.Value());
+		}
+
+
 		private static void TestCycleDetect(string inputData, CycleType cycleType)
 		{
 			var cycleTypeCalc = DrivingCycleDataReader.DetectCycleType(VectoCSVFile.ReadStream(inputData.ToStream()));