diff --git a/src/PlanView/SurveyMapVisual.qml b/src/PlanView/SurveyMapVisual.qml
index afd4a92317b41bacca2070a6adf1743b8088020b..237297b01aeb6fb937270e7c18645ce1591b2173 100644
--- a/src/PlanView/SurveyMapVisual.qml
+++ b/src/PlanView/SurveyMapVisual.qml
@@ -24,25 +24,37 @@ Item {
 
     property var map        ///< Map control to place item in
 
-    property var _missionItem:      object
-    property var _mapPolygon:       object.surveyAreaPolygon
-    property var _visualTransectsComponent
-    property var _entryCoordinate
-    property var _exitCoordinate
+    property var    _missionItem:               object
+    property var    _mapPolygon:                object.surveyAreaPolygon
+    property bool   _currentItem:               object.isCurrentItem
+    property var    _transectPoints:            _missionItem.visualTransectPoints
+    property bool   _showPartialEntryExit:      !_currentItem && _missionItem.turnAroundDistance.rawValue != 0 &&_transectPoints.length > 1
+    property var    _fullTransectsComponent:    null
+    property var    _entryTransectsComponent:   null
+    property var    _exitTransectsComponent:    null
+    property var    _entryCoordinate
+    property var    _exitCoordinate
 
     signal clicked(int sequenceNumber)
 
     function _addVisualElements() {
-        _visualTransectsComponent = visualTransectsComponent.createObject(map)
-        _entryCoordinate = entryPointComponent.createObject(map)
-        _exitCoordinate = exitPointComponent.createObject(map)
-        map.addMapItem(_visualTransectsComponent)
+        _fullTransectsComponent =   fullTransectsComponent.createObject(map)
+        _entryTransectsComponent =  entryTransectComponent.createObject(map)
+        _exitTransectsComponent =   exitTransectComponent.createObject(map)
+        _entryCoordinate =          entryPointComponent.createObject(map)
+        _exitCoordinate =           exitPointComponent.createObject(map)
+
+        map.addMapItem(_fullTransectsComponent)
+        map.addMapItem(_entryTransectsComponent)
+        map.addMapItem(_exitTransectsComponent)
         map.addMapItem(_entryCoordinate)
         map.addMapItem(_exitCoordinate)
     }
 
     function _destroyVisualElements() {
-        _visualTransectsComponent.destroy()
+        _fullTransectsComponent.destroy()
+        _entryTransectsComponent.destroy()
+        _exitTransectsComponent.destroy()
         _entryCoordinate.destroy()
         _exitCoordinate.destroy()
     }
@@ -98,14 +110,39 @@ Item {
         interiorOpacity:    0.5
     }
 
-    // Transect lines
+    // Full set of transects lines. Shown when item is selected.
     Component {
-        id: visualTransectsComponent
+        id: fullTransectsComponent
 
         MapPolyline {
             line.color: "white"
             line.width: 2
-            path:       _missionItem.visualTransectPoints
+            path:       _transectPoints
+            visible:    _currentItem
+        }
+    }
+
+    // Entry and exit transect lines only. Used when item is not selected.
+    Component {
+        id: entryTransectComponent
+
+        MapPolyline {
+            line.color: "white"
+            line.width: 2
+            path:       _showPartialEntryExit ? [ _transectPoints[0], _transectPoints[1] ] : []
+            visible:    _showPartialEntryExit
+        }
+    }
+    Component {
+        id: exitTransectComponent
+
+        MapPolyline {
+            line.color: "white"
+            line.width: 2
+            path:       _showPartialEntryExit ? [ _transectPoints[lastPointIndex - 1], _transectPoints[lastPointIndex] ] : []
+            visible:    _showPartialEntryExit
+
+            property int lastPointIndex: _transectPoints.length - 1
         }
     }