diff --git a/propulsion_design/src/engine_design/rubber/turbofan.cpp b/propulsion_design/src/engine_design/rubber/turbofan.cpp
index 25aaa82b8ff0fd9e83e88cffd4839cbe4018e340..d09ccdfa6c2cc1685ca455f624bdf7f3e3e8976d 100644
--- a/propulsion_design/src/engine_design/rubber/turbofan.cpp
+++ b/propulsion_design/src/engine_design/rubber/turbofan.cpp
@@ -55,12 +55,22 @@ namespace design
                                 {this->engine_directory(), this->engine_database()});
 
         /* Scale the engine */
-        /** @todo How and which thrust do we need here? */
+
+        /* Load the unscaled engine */
+        auto engine_unscaled = io::load_engine_scaled(
+            engine.model(),
+            1,
+            {this->engine_directory(),
+             this->engine_database()});
+
+        /* Get the unscaled SLST value from the deck values as the highest N1 at SLS */
+        engine_unscaled.calculate_N1_with_penalties(0 , 0, this->flight_condition().ambiance, 1.0, "takeoff", 0, 0);
+
+        /* Scale the engine */
         engine.set_scale(
-            engine.required_thrust() > 0.0 ? engine.required_thrust() / engine_data.SLST() : 1.0);
+            engine.required_thrust() > 0.0 ? engine.required_thrust() / engine_unscaled.get_thrust() : 1.0); // engine_unscaled.get_thrust()
 
-        /* Set and sale the parameters */
-        /** @todo Where does the scaling of the length come from ?*/
+        /* Set and sale the parameters according to Ray12 p. 285 */
         engine.set_dimension({engine_data.dimensions().height * std::pow(engine.scale(), 0.5),
                               engine_data.dimensions().width * std::pow(engine.scale(), 0.5),
                               engine_data.dimensions().length * std::pow(engine.scale(), 0.4)});