diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md
index 9c2e03788eed..b568648c8898 100644
--- a/.github/CHANGELOG.md
+++ b/.github/CHANGELOG.md
@@ -83,6 +83,7 @@
 1. [EFB] Added missing localization for SimBridge related settings in SimOptions page - @implasmatbh (Plasma)
 1. [FWC] Implement non-cancellable master warning for overspeed and gear not down - @tracernz (Mike)
 1. [EFB] Checklist restructure to add more capabilities and use json configs - @frankkopp (Frank Kopp)
+1. [ATHR/FADEC] Improved reverse thrust limit - @aguther (Andreas Guther)
 
 ## 0.11.0
 
diff --git a/fbw-a32nx/docs/Configuration/ModelConfiguration.ini b/fbw-a32nx/docs/Configuration/ModelConfiguration.ini
index f5a45e1894c5..1b5a43461f61 100644
--- a/fbw-a32nx/docs/Configuration/ModelConfiguration.ini
+++ b/fbw-a32nx/docs/Configuration/ModelConfiguration.ini
@@ -33,8 +33,8 @@
 
 [autothrust]
 ; !! WARNING CHANGE AT YOUR OWN RISK !!
-; sets the target N1 for full reverse
-;thrust_limit_reverse = -45.0
+; sets the target N1 in percentage of TOGA limit for full reverse
+;thrust_limit_reverse_percentage_toga = 0.8
 
 ; !! WARNING CHANGE AT YOUR OWN RISK !!
 ; if enabled, thrust limits IDLE, CLB and TOGA are taken from local variables
diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/engines.cfg b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/engines.cfg
index 750f9776b046..62b50b0a3422 100644
--- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/engines.cfg
+++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/engines.cfg
@@ -4,7 +4,7 @@ minor = 0
 
 [GENERALENGINEDATA]
 engine_type = 1 ; 0=Piston, 1=Jet, 2=None, 3=Helo-Turbine, 4=Rocket, 5=Turboprop
-min_throttle_limit = -0.2 ; Minimum percent throttle.  Generally negative for turbine reverser
+min_throttle_limit = -1.0 ; Minimum percent throttle.  Generally negative for turbine reverser
 master_ignition_switch = 0
 starter_type = 2 ; 0=Electric, 1=Manual, 2=Bleed Air
 max_contrail_temperature = -39.724
diff --git a/fbw-a32nx/src/systems/instruments/src/EWD/N1Limit.tsx b/fbw-a32nx/src/systems/instruments/src/EWD/N1Limit.tsx
index dc7be0896b32..f926eb5d5e07 100644
--- a/fbw-a32nx/src/systems/instruments/src/EWD/N1Limit.tsx
+++ b/fbw-a32nx/src/systems/instruments/src/EWD/N1Limit.tsx
@@ -52,7 +52,7 @@ export class N1Limit extends DisplayComponent<N1LimitProps> {
         });
 
         sub.on('autoThrustLimit').whenChanged().handle((l) => {
-            this.autoThrustLimit = l;
+            this.autoThrustLimit = Math.abs(l);
         });
 
         sub.on('thrustLimitType').whenChanged().handle((l) => {
diff --git a/fbw-a32nx/src/wasm/fbw_a320/src/FlyByWireInterface.cpp b/fbw-a32nx/src/wasm/fbw_a320/src/FlyByWireInterface.cpp
index 83b949e95414..5aa05b18d76d 100644
--- a/fbw-a32nx/src/wasm/fbw_a320/src/FlyByWireInterface.cpp
+++ b/fbw-a32nx/src/wasm/fbw_a320/src/FlyByWireInterface.cpp
@@ -223,13 +223,11 @@ void FlyByWireInterface::loadConfiguration() {
 
   // --------------------------------------------------------------------------
   // load values - autothrust
-  autothrustThrustLimitReverse = INITypeConversion::getDouble(iniStructure, "AUTOTHRUST", "THRUST_LIMIT_REVERSE", -45.0);
-
-  // initialize local variable for reverse
-  idAutothrustThrustLimitREV->set(autothrustThrustLimitReverse);
+  autothrustThrustLimitReversePercentageToga =
+      INITypeConversion::getDouble(iniStructure, "AUTOTHRUST", "THRUST_LIMIT_REVERSE_PERCENTAGE_TOGA", 0.8);
 
   // print configuration into console
-  std::cout << "WASM: AUTOTHRUST : THRUST_LIMIT_REVERSE    = " << autothrustThrustLimitReverse << std::endl;
+  std::cout << "WASM: AUTOTHRUST : THRUST_LIMIT_REVERSE_PERCENTAGE_TOGA    = " << autothrustThrustLimitReversePercentageToga << std::endl;
 
   // --------------------------------------------------------------------------
   // load values - flight controls
@@ -2407,6 +2405,9 @@ bool FlyByWireInterface::updateAutothrust(double sampleTime) {
   idThrottlePosition3d_1->set(idThrottlePositionLookupTable3d.get(thrustLeverAngle_1->get()));
   idThrottlePosition3d_2->set(idThrottlePositionLookupTable3d.get(thrustLeverAngle_2->get()));
 
+  // update reverser thrust limit
+  idAutothrustThrustLimitREV->set(idAutothrustThrustLimitTOGA->get() * autothrustThrustLimitReversePercentageToga);
+
   // set client data if needed
   if (!autoThrustEnabled || !autopilotStateMachineEnabled || !flyByWireEnabled) {
     ClientDataLocalVariablesAutothrust ClientDataLocalVariablesAutothrust = {
diff --git a/fbw-a32nx/src/wasm/fbw_a320/src/FlyByWireInterface.h b/fbw-a32nx/src/wasm/fbw_a320/src/FlyByWireInterface.h
index 135756339411..18b80a8f94a1 100644
--- a/fbw-a32nx/src/wasm/fbw_a320/src/FlyByWireInterface.h
+++ b/fbw-a32nx/src/wasm/fbw_a320/src/FlyByWireInterface.h
@@ -76,7 +76,7 @@ class FlyByWireInterface {
   bool wasPaused = false;
   bool wasInSlew = false;
 
-  double autothrustThrustLimitReverse = -45;
+  double autothrustThrustLimitReversePercentageToga = 0.0;
 
   bool flightDirectorConnectLatch_1 = false;
   bool flightDirectorConnectLatch_2 = false;
diff --git a/fbw-a32nx/src/wasm/fbw_a320/src/model/Autothrust_data.cpp b/fbw-a32nx/src/wasm/fbw_a320/src/model/Autothrust_data.cpp
index 4d55c0868eef..7fe4c426c361 100644
--- a/fbw-a32nx/src/wasm/fbw_a320/src/model/Autothrust_data.cpp
+++ b/fbw-a32nx/src/wasm/fbw_a320/src/model/Autothrust_data.cpp
@@ -180,13 +180,13 @@ Autothrust::Parameters_Autothrust_T Autothrust::Autothrust_P{
 
   0.0,
 
-  -20.0,
+  -100.0,
 
   -2.0,
 
   0.0,
 
-  -20.0,
+  -100.0,
 
 
   { 1.8, 1.8, 1.0, 1.2, 1.2 },