diff --git a/Models/Instruments/ND/canvas/framework/navdisplay.nas b/Models/Instruments/ND/canvas/framework/navdisplay.nas
index 64527ec1..6acc0dda 100644
--- a/Models/Instruments/ND/canvas/framework/navdisplay.nas
+++ b/Models/Instruments/ND/canvas/framework/navdisplay.nas
@@ -288,19 +288,21 @@ canvas.NavDisplay.update_sub = func(){
userHdgTrkTru = userTrkTru;
me.symbols.hdgTrk.setText("TRK");
} else {
- var dist = int(userHdg - me.lastCompassRot);
- if (dist>180) dist = dist - 360;
- elsif (dist<-180) dist = 360 + dist;
- if (dist>0) {
- dist = dist * 0.3;
- if (dist>20) dist = 20;
- me.lastCompassRot = (dist<1) ? userHdg : me.lastCompassRot+dist;
- }
- elsif (dist<0) {
- dist = dist * 0.3;
- if (dist<-20) dist = -20;
- me.lastCompassRot = (dist>-1) ? userHdg : me.lastCompassRot+dist;
- }
+ var dist = userHdg - me.lastCompassRot;
+ if (dist != 0) {
+ if (dist>180) dist = dist - 360;
+ elsif (dist<-180) dist = 360 + dist;
+ if (dist>0) {
+ dist = dist * 0.3;
+ if (dist>10) dist = 10;
+ me.lastCompassRot = (dist<0.2) ? userHdg : math.mod(me.lastCompassRot+dist,360);
+ }
+ elsif (dist<0) {
+ dist = dist * 0.3;
+ if (dist<-10) dist = -10;
+ me.lastCompassRot = (dist>-0.2) ? userHdg : math.mod(me.lastCompassRot+dist,360);
+ }
+ }
userHdgTrk = me.lastCompassRot;
me.userHdgTrk = me.lastCompassRot;
userHdgTrkTru = userHdgTru;
diff --git a/Models/Instruments/ND/canvas/res/airbusND.svg b/Models/Instruments/ND/canvas/res/airbusND.svg
index 343918c0..7a4cdeb8 100644
--- a/Models/Instruments/ND/canvas/res/airbusND.svg
+++ b/Models/Instruments/ND/canvas/res/airbusND.svg
@@ -1320,13 +1320,13 @@
style="font-size:36px;line-height:1.25;fill:#179ab7;fill-opacity:1">999999