diff --git a/VectoCore/VectoCore/Models/Declaration/Segments.cs b/VectoCore/VectoCore/Models/Declaration/Segments.cs
index 81045618de52bc2b6c5de1c40e843b79c83eb9c8..e7a939f03ea98ab5507cc979dc2d6d41e13ff277 100644
--- a/VectoCore/VectoCore/Models/Declaration/Segments.cs
+++ b/VectoCore/VectoCore/Models/Declaration/Segments.cs
@@ -114,6 +114,13 @@ namespace TUGraz.VectoCore.Models.Declaration
 					? DeclarationData.StandardWeights.Lookup(row.Field<string>("trailer"))
 					: DeclarationData.StandardWeights.Empty;
 
+				var semiTrailerField = row.Field<string>("semitrailer");
+				var semiTrailer = !string.IsNullOrWhiteSpace(semiTrailerField)
+					? DeclarationData.StandardWeights.Lookup(semiTrailerField)
+					: DeclarationData.StandardWeights.Empty;
+
+				trailer += semiTrailer;
+
 				// limit gvw to MaxGVW (40t)
 				var gvw = VectoMath.Min(grossVehicleWeight + trailer.GrossVehicleWeight,
 					Constants.SimulationSettings.MaximumGrossVehicleWeight);
diff --git a/VectoCore/VectoCore/Models/Declaration/StandardWeights.cs b/VectoCore/VectoCore/Models/Declaration/StandardWeights.cs
index 913391e98d900de6497d495193950cc97fd2eb6f..44e0c5212450efd4ff5edb18ea8753147f0c2330 100644
--- a/VectoCore/VectoCore/Models/Declaration/StandardWeights.cs
+++ b/VectoCore/VectoCore/Models/Declaration/StandardWeights.cs
@@ -29,6 +29,7 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
+using System.CodeDom;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
@@ -49,6 +50,15 @@ namespace TUGraz.VectoCore.Models.Declaration
 		}
 
 		public SquareMeter DeltaCrossWindArea;
+
+		public static StandardWeight operator +(StandardWeight first, StandardWeight second)
+		{
+			return new StandardWeight {
+				CurbWeight = first.CurbWeight + second.CurbWeight,
+				DeltaCrossWindArea = first.DeltaCrossWindArea + second.DeltaCrossWindArea,
+				GrossVehicleWeight = first.GrossVehicleWeight + second.GrossVehicleWeight
+			};
+		}
 	}
 
 	/// <summary>