diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs
index 7dcd09c024ad3933eed3b9957849eae15a00d876..5e810dde26983d5816664b7ac7410d926cd6a2ed 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs
@@ -406,6 +406,48 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
 			Assert.IsFalse(lookupExt.Extrapolated);
 		}
 
+		[TestCase()]
+		public void TestLossMapExtensionNegativeRegressionSlope()
+		{
+			var entries = new[] {
+				"Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] # this is a comment",
+				"200,-2500,60",
+				"200,0,30",
+				"200,100,35",
+				"200,200,40",
+				"200,500,32",
+				"200,1000,30",
+				"200,2000,25",
+				"200,2500,23",
+				"500,-2500,60",
+				"500,0,35",
+				"500,2500,23"
+			};
+			var mstream = new MemoryStream();
+			var writer = new StreamWriter(mstream);
+			
+			foreach (var entry in entries) {
+				writer.WriteLine(entry);
+			}
+			writer.Flush();
+			mstream.Flush();
+			mstream.Seek(0, SeekOrigin.Begin);
+			
+			var lossMap = TransmissionLossMapReader.Create(VectoCSVFile.ReadStream(mstream), 1.0, "TestGear", true);
+
+			var validation = lossMap.Validate(ExecutionMode.Declaration, GearboxType.AMT, false);
+
+			Assert.AreEqual(0, validation.Count);
+
+			var lookup1 = lossMap.GetTorqueLoss(200.RPMtoRad(), 500.SI<NewtonMeter>());
+			Assert.IsFalse(lookup1.Extrapolated);
+			Assert.AreEqual(31.8725, lookup1.Value.Value(), 1e-3);
+
+			var lookup2 = lossMap.GetTorqueLoss(200.RPMtoRad(), 7000.SI<NewtonMeter>());
+			Assert.IsFalse(lookup2.Extrapolated);
+			Assert.AreEqual(23, lookup2.Value.Value());
+		}
+
 	}
 
 }
\ No newline at end of file