diff --git a/mission_analysis/src/standard_mission/fuel_handling/fuel_handling.cpp b/mission_analysis/src/standard_mission/fuel_handling/fuel_handling.cpp
index a8771954f984d64bbeae756ca4b9f8bba78eb6fb..c74fdabf702c77b337c59d33e2af3ec995eacd06 100644
--- a/mission_analysis/src/standard_mission/fuel_handling/fuel_handling.cpp
+++ b/mission_analysis/src/standard_mission/fuel_handling/fuel_handling.cpp
@@ -205,15 +205,16 @@ void standard_mission::set_final_reserve_fuel(double *aircraft_mass) {
 }
 
 void standard_mission::set_alternate_fuel(double* aircraft_mass) {
-    int energy_carrier_id = // TODO(Gerrit): Check if it makes senese: Assuming cruise energy carrier used for alternate fuel reserves (derived from cruise conditions)
+    int energy_carrier_id = // TODO(Gerrit): Check if it makes sense: Assuming cruise energy carrier used for alternate fuel reserves (derived from cruise conditions)
         EndnodeReadOnly<int>("energy_carrier_ID").read(rtIO->acxml.at("requirements_and_specifications/design_specification/propulsion/energy_provider/cruise")).value();
-    /* Alternate fuel: Calculation of the flight altitude from alternate */
-    double alternate_FL = this->mission_file->alternate_distance * 0.8 / (1. / tan(convertUnit(DEGREE, RADIAN, 5.)) + 1. / tan(convertUnit(DEGREE, RADIAN, 3.)));
-    if (alternate_FL > convertUnit(FOOT, METER, 10000.)) {
-        alternate_FL = convertUnit(FOOT, METER, 10000.);
+    /* Alternate fuel: Calculation of the flight altitude from alternate. Climb gradient (2.5°) and decent (1.5°) estimated based on typical ROC and TAS */
+    double alternate_FL = this->mission_file->alternate_distance * 0.8 / (1. / tan(convertUnit(DEGREE, RADIAN, 2.5)) + 1. / tan(convertUnit(DEGREE, RADIAN, 1.5)));
+    /* Maximum alternate at FL200 based on Schmitt and Gollnick, Air Transport System */
+    if (alternate_FL > convertUnit(FOOT, METER, 20000.)) {
+        alternate_FL = convertUnit(FOOT, METER, 20000.);
     }
     double climb_mach(convertUnit(CALIBRATEDAIRSPEED, MACH, alternate_FL, this->atm, this->climb_speed_below_FL100));
-    /* Alternate climbing: Estimation with the values at 10.000 ft */
+    /* Alternate climbing */
     this->engine.calculate_N1_with_penalties(energy_carrier_id, alternate_FL, climb_mach, this->atm, 1., "climb", 0., 0.);
     /* Calculate aerodynamics */
     double L_over_D(this->aero.getCruiseLoverD(climb_mach, alternate_FL, 0., *aircraft_mass, "clean", this->atm));