diff --git a/VectoCommon/VectoCommon/Models/GearshiftPosition.cs b/VectoCommon/VectoCommon/Models/GearshiftPosition.cs
index 9de4158daee87d124079d27dab7993c029473904..f5ffb0f4c18dcd881319fb6a26293f1729972866 100644
--- a/VectoCommon/VectoCommon/Models/GearshiftPosition.cs
+++ b/VectoCommon/VectoCommon/Models/GearshiftPosition.cs
@@ -74,7 +74,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 
 		public GearList(GearshiftPosition[] gearList) => Entries = gearList;
 
-		public bool HasPredecessor(GearshiftPosition cur) => cur.Gear != 0 && cur != Entries[0];
+		public bool HasPredecessor(GearshiftPosition cur) => cur.Gear != 0 && !Entries[0].Equals(cur);
 		
 		public GearshiftPosition Predecessor(GearshiftPosition cur)
 		{
@@ -82,7 +82,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			return idx <= 0 ? null : Entries[idx - 1];
 		}
 
-		public bool HasSuccessor(GearshiftPosition cur) => cur.Gear != 0 && cur != Entries[Entries.Length-1];
+		public bool HasSuccessor(GearshiftPosition cur) => cur.Gear != 0 && !Entries[Entries.Length-1].Equals(cur);
 
 		public GearshiftPosition Successor(GearshiftPosition cur)
 		{
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/ShiftPolygon.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/ShiftPolygon.cs
index 43ae727730cedf6c25f9be1061fb0e793b6da637..d9f07a552825f27e88fcd5c7f670083650b352c0 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/ShiftPolygon.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/ShiftPolygon.cs
@@ -71,6 +71,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox
 
 		public bool IsBelowDownshiftCurve(NewtonMeter inTorque, PerSecond inAngularVelocity)
 		{
+			if (!Downshift.Any()) {
+				return false;}
 			var section = Downshift.GetSection(entry => entry.AngularSpeed < inAngularVelocity);
 			if (section.Item2.AngularSpeed < inAngularVelocity) {
 				return false;
@@ -99,6 +101,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox
 
 		public bool IsAboveUpshiftCurve(NewtonMeter inTorque, PerSecond inAngularVelocity)
 		{
+			if (!Upshift.Any()) {
+				return false;
+			}
 			var section = Upshift.GetSection(entry => entry.AngularSpeed < inAngularVelocity);
 
 			if (section.Item2.AngularSpeed < inAngularVelocity) {