diff --git a/Nasal/controls.nas b/Nasal/controls.nas
index 07a612bf3..4c1f07cf5 100644
--- a/Nasal/controls.nas
+++ b/Nasal/controls.nas
@@ -462,6 +462,9 @@ _setlistener("/sim/signals/fdm-initialized", func {
var sel = props.globals.getNode("/sim/input/selected", 1);
var engs = props.globals.getNode("/controls/engines").getChildren("engine");
+ # need to reset engine list on every FDM reset
+ engines = [];
+ # process all engines
foreach(var e; engs) {
var index = e.getIndex();
var s = sel.getChild("engine", index, 1);
diff --git a/Shaders/include_fog.frag b/Shaders/include_fog.frag
index 69dc17257..3837f8358 100644
--- a/Shaders/include_fog.frag
+++ b/Shaders/include_fog.frag
@@ -6,7 +6,7 @@ vec3 fog_Func(vec3 color, int type)
//if (type == 0){
const float LOG2 = 1.442695;
//float fogCoord =length(PointPos);
- float fogCoord = gl_FragCoord.z / gl_FragCoord.w;
+ float fogCoord = gl_ProjectionMatrix[3].z/(gl_FragCoord.z * -2.0 + 1.0 - gl_ProjectionMatrix[2].z);
float fogFactor = exp2(-gl_Fog.density * gl_Fog.density * fogCoord * fogCoord * LOG2);
if(gl_Fog.density == 1.0)
diff --git a/preferences.xml b/preferences.xml
index eb2d2febe..fff8e27ac 100644
--- a/preferences.xml
+++ b/preferences.xml
@@ -33,7 +33,6 @@ Started September 2000 by David Megginson, david@megginson.com
- true