diff --git a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs
index b48aec3d79efaca6804a215991feccbe0c834f83..c75d8e1eb5dda5ed8e9781b6f554ed8a6e78ec40 100644
--- a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs
+++ b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs
@@ -487,9 +487,17 @@ namespace TUGraz.VectoCore.OutputData
 			return 100 * sum / Duration(data);
 		}
 
+		/// <summary>
+		/// The following logic applies:
+		/// - shifting from gear A to gear B counts as gearshift (with or without traction interruption)
+		/// - shifting from gear A to neutral couts as gearshift if the vehicle stopped
+		/// </summary>
+		/// <param name="data"></param>
+		/// <returns></returns>
 		public static Scalar GearshiftCount(this IModalDataContainer data)
 		{
 			var prevGear = data.GetValues<uint>(ModalResultField.Gear).First();
+			var lastGear = prevGear;
 			var gearCount = 0;
 
 			var shifts = data.GetValues(x => new {
@@ -498,13 +506,17 @@ namespace TUGraz.VectoCore.OutputData
 			});
 			foreach (var entry in shifts) {
 				if (entry.Speed != null && entry.Speed.IsSmallerOrEqual(0.1)) {
-					prevGear = 0;
-					gearCount++;
+					if (prevGear != entry.Gear) {
+						gearCount++;
+					}
 				}
-				if (entry.Gear == 0 || entry.Gear == prevGear) {
-					continue;
+				if (entry.Gear != 0 && entry.Gear != prevGear) {
+					if (lastGear != entry.Gear) {
+						gearCount++;
+					}
+					lastGear = entry.Gear;
 				}
-				gearCount++;
+
 				prevGear = entry.Gear;
 			}
 			return gearCount.SI<Scalar>();
@@ -553,4 +565,4 @@ namespace TUGraz.VectoCore.OutputData
 			return retVal;
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
index bcdb5921206047d2efb70eaecfa7e533da29283f..7f997ee209a67ede57dd26814c5093c4327cd6ed 100644
--- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj
+++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
@@ -110,6 +110,7 @@
     <Compile Include="Models\Simulation\GetSectionTest.cs" />
     <Compile Include="Models\Simulation\DeclarationSimulationFactoryTest.cs" />
     <Compile Include="Reports\ActualModalSimulationDataTest.cs" />
+    <Compile Include="Reports\GearshiftCountTest.cs" />
     <Compile Include="Reports\ModDataTest.cs" />
     <Compile Include="Models\Simulation\MeasuredSpeedModeTest.cs" />
     <Compile Include="Models\Simulation\PwheelModeTests.cs" />