diff --git a/src/FDM/YASim/Airplane.cpp b/src/FDM/YASim/Airplane.cpp
index 53df46542..f2be3e0dc 100644
--- a/src/FDM/YASim/Airplane.cpp
+++ b/src/FDM/YASim/Airplane.cpp
@@ -582,7 +582,7 @@ void Airplane::compile()
     // Ground effect
     float gepos[3];
     float gespan = _wing->getGroundEffect(gepos);
-    _model.setGroundEffect(gepos, gespan, 0.3f);
+    _model.setGroundEffect(gepos, gespan, 0.15f);
 
     solveGear();
     solve();
diff --git a/src/FDM/YASim/Model.cpp b/src/FDM/YASim/Model.cpp
index 1a098358c..8cc50c9d0 100644
--- a/src/FDM/YASim/Model.cpp
+++ b/src/FDM/YASim/Model.cpp
@@ -260,8 +260,9 @@ void Model::calcForces(State* s)
     float dist = ground[3] - Math::dot3(ground, _wingCenter);
     if(dist > 0 && dist < _groundEffectSpan) {
 	float fz = Math::dot3(faero, ground);
-	Math::mul3(fz * _groundEffect * dist/_groundEffectSpan,
-		   ground, faero);
+        fz *= (_groundEffectSpan - dist) / _groundEffectSpan;
+        fz *= _groundEffect;
+	Math::mul3(fz, ground, faero);
 	_body.addForce(faero);
     }