diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs
index b4fb1e23dc71ac1099ef5aa9a48aec58f68dce51..62ee2023e0f4a306954ce4eadbc63d25aa84c81d 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs
@@ -129,7 +129,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 
 
 			if (result.MinSoC >= result.TargetSoC || result.TargetSoC >= 1) {
-				throw new VectoException("Min SOC higher than Target SOC");
+				throw new VectoException("SSupercap: Min SOC higher than Target SOC");
 			}
 		}
 
@@ -143,8 +143,13 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 			var min_hs_energy = min_sc_energy + kin_energy;
 			var target_hs_energy = max_sc_energy - kin_energy;
 
-			var u_min = SC_Voltage(min_hs_energy, superCapData.Capacity);
-			var u_target = SC_Voltage(target_hs_energy, superCapData.Capacity);
+
+			var u_min = SC_Voltage(min_hs_energy, superCapData.Capacity); 
+			var u_target = double.MinValue.SI<Volt>();
+			if (target_hs_energy.IsGreaterOrEqual(0)) {
+				u_target = SC_Voltage(target_hs_energy, superCapData.Capacity);
+			}
+
 
 			result.MinSoC = u_min / superCapData.MaxVoltage;
 			result.TargetSoC = u_target / superCapData.MaxVoltage;
@@ -210,6 +215,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 
 		private static Volt SC_Voltage(WattSecond energy, Farad capacity)
 		{
+			if (energy.IsSmaller(0)) {
+				throw new ArgumentException($"Supercap: nameof(energy) < 0");
+			}
 			return Math.Sqrt((2.0 * energy / capacity).Value()).SI<Volt>();
 		}