diff --git a/src/location/labs/qsg/qmappolylineobjectqsg.cpp b/src/location/labs/qsg/qmappolylineobjectqsg.cpp
index 66656b2353d12939b8f3f4c8f41c2b9268c824b9..2bf5b287e0df496ca29b3d9ae5fda113b9e9c52a 100644
--- a/src/location/labs/qsg/qmappolylineobjectqsg.cpp
+++ b/src/location/labs/qsg/qmappolylineobjectqsg.cpp
@@ -53,7 +53,8 @@ QMapPolylineObjectPrivateQSG::QMapPolylineObjectPrivateQSG(QGeoMapObject *q)
 QMapPolylineObjectPrivateQSG::QMapPolylineObjectPrivateQSG(const QMapPolylineObjectPrivate &other)
     : QMapPolylineObjectPrivateDefault(other)
 {
-    // Data already cloned by the *Default copy constructor, but necessary
+    m_geoPath.setPath(m_path);
+    // rest of the data already cloned by the *Default copy constructor, but necessary
     // update operations triggered only by setters overrides
     updateGeometry();
     if (m_map)
@@ -135,6 +136,7 @@ QList<QGeoCoordinate> QMapPolylineObjectPrivateQSG::path() const
 
 void QMapPolylineObjectPrivateQSG::setPath(const QList<QGeoCoordinate> &path)
 {
+    m_path = path;
     m_geoPath.setPath(path);
     updateGeometry();
     if (m_map)