diff --git a/src/PositionManager/PositionManager.h b/src/PositionManager/PositionManager.h
index 692ae2324e2b71ada38798ca4aaeb0d9717a9778..30c39f363a208bde826bab11895813d48035e8ef 100644
--- a/src/PositionManager/PositionManager.h
+++ b/src/PositionManager/PositionManager.h
@@ -25,7 +25,8 @@ public:
     QGCPositionManager(QGCApplication* app, QGCToolbox* toolbox);
     ~QGCPositionManager();
 
-    Q_PROPERTY(QGeoCoordinate gcsPosition READ gcsPosition NOTIFY gcsPositionChanged)
+    Q_PROPERTY(QGeoCoordinate gcsPosition  READ gcsPosition  NOTIFY gcsPositionChanged)
+    Q_PROPERTY(qreal          gcsHeading   READ gcsHeading   NOTIFY gcsHeadingChanged)
 
     enum QGCPositionSource {
         Simulated,
@@ -36,6 +37,8 @@ public:
 
     QGeoCoordinate gcsPosition(void) { return _gcsPosition; }
 
+    qreal gcsHeading() { return _gcsHeading; }
+
     void setPositionSource(QGCPositionSource source);
 
     int updateInterval() const;
@@ -50,11 +53,13 @@ private slots:
 
 signals:
     void gcsPositionChanged(QGeoCoordinate gcsPosition);
+    void gcsHeadingChanged(qreal gcsHeading);
     void positionInfoUpdated(QGeoPositionInfo update);
 
 private:
     int             _updateInterval;
     QGeoCoordinate  _gcsPosition;
+    qreal           _gcsHeading;
 
     QGeoPositionInfoSource*     _currentSource;
     QGeoPositionInfoSource*     _defaultSource;