diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc
index fbf9bcf2ecb092eaaa5afc4c5a4680a4730a1d1b..aa36354606c5fa37d483b1e61dd0b826ddc16024 100644
--- a/qgroundcontrol.qrc
+++ b/qgroundcontrol.qrc
@@ -40,7 +40,6 @@
         <file alias="MixersComponent.qml">src/AutoPilotPlugins/Common/MixersComponent.qml</file>
         <file alias="MockLink.qml">src/ui/preferences/MockLink.qml</file>
         <file alias="MockLinkSettings.qml">src/ui/preferences/MockLinkSettings.qml</file>
-        <file alias="MultiVehicleView.qml">src/MultiVehicle/MultiVehicleView.qml</file>
         <file alias="MotorComponent.qml">src/AutoPilotPlugins/Common/MotorComponent.qml</file>
         <file alias="OfflineMap.qml">src/QtLocationPlugin/QMLControl/OfflineMap.qml</file>
         <file alias="PowerComponent.qml">src/AutoPilotPlugins/PX4/PowerComponent.qml</file>
@@ -58,7 +57,6 @@
         <file alias="QGroundControl/Controls/FWLandingPatternMapVisual.qml">src/MissionEditor/FWLandingPatternMapVisual.qml</file>
         <file alias="QGroundControl/Controls/GeoFenceEditor.qml">src/MissionEditor/GeoFenceEditor.qml</file>
         <file alias="QGroundControl/Controls/GeoFenceMapVisuals.qml">src/MissionEditor/GeoFenceMapVisuals.qml</file>
-        <file alias="QGroundControl/Controls/GuidedBar.qml">src/QmlControls/GuidedBar.qml</file>
         <file alias="QGroundControl/Controls/IndicatorButton.qml">src/QmlControls/IndicatorButton.qml</file>
         <file alias="QGroundControl/Controls/JoystickThumbPad.qml">src/QmlControls/JoystickThumbPad.qml</file>
         <file alias="QGroundControl/Controls/MainToolBar.qml">src/ui/toolbar/MainToolBar.qml</file>
diff --git a/src/FlightDisplay/FlightDisplayViewMap.qml b/src/FlightDisplay/FlightDisplayViewMap.qml
index 602b9057eab3b0d881e569775ae52442d27c1ce1..f6958b02b5afcc8780503233dc906c1755bdea3f 100644
--- a/src/FlightDisplay/FlightDisplayViewMap.qml
+++ b/src/FlightDisplay/FlightDisplayViewMap.qml
@@ -257,7 +257,12 @@ FlightMap {
         model: _mainIsMap ? missionController.visualItems : 0
 
         delegate: MissionItemMapVisual {
-            map: flightMap
+            map:        flightMap
+
+            onClicked: {
+                _retaskSequence = object.sequenceNumber
+                flightWidgets.guidedModeBar.confirmAction(parent.flightWidgets.guidedModeBar.confirmRetask)
+            }
         }
     }
 
diff --git a/src/FlightDisplay/FlightDisplayViewWidgets.qml b/src/FlightDisplay/FlightDisplayViewWidgets.qml
index 520a1bcb15ccb54f2e622e01da98bb9ada354c1b..a9167c1f3704ed0593620b2ec17e42e3a52caec1 100644
--- a/src/FlightDisplay/FlightDisplayViewWidgets.qml
+++ b/src/FlightDisplay/FlightDisplayViewWidgets.qml
@@ -318,7 +318,7 @@ Item {
                 guidedModeConfirm.confirmText = qsTr("move vehicle")
                 break;
             case confirmRetask:
-                guidedModeConfirm.confirmText = qsTr("active waypoint change")
+                guidedModeConfirm.confirmText = qsTr("activate waypoint change")
                 break;
             case confirmOrbit:
                 guidedModeConfirm.confirmText = qsTr("enter orbit mode")
diff --git a/src/MissionEditor/FWLandingPatternMapVisual.qml b/src/MissionEditor/FWLandingPatternMapVisual.qml
index 1434a9150466c53276527dfcca07be7d86e69f53..97178e5977c574894701daa5e970c4b0851e8a36 100644
--- a/src/MissionEditor/FWLandingPatternMapVisual.qml
+++ b/src/MissionEditor/FWLandingPatternMapVisual.qml
@@ -20,8 +20,12 @@ import QGroundControl.FlightMap     1.0
 
 /// Fixed Wing Landing Pattern map visuals
 Item {
+    id: _root
+
     property var map    ///< Map control to place item in
 
+    signal clicked(int sequenceNumber)
+
     property var _missionItem:  object
     property var _itemVisuals: [ ]
     property var _mouseArea
@@ -207,7 +211,7 @@ Item {
                 label:      "Loiter"
                 checked:    _missionItem.isCurrentItem
 
-                onClicked: setCurrentItem(_missionItem.sequenceNumber)
+                onClicked: _root.clicked(_missionItem.sequenceNumber)
             }
         }
     }
@@ -241,7 +245,7 @@ Item {
                 label:      "Land"
                 checked:    _missionItem.isCurrentItem
 
-                onClicked: setCurrentItem(_missionItem.sequenceNumber)
+                onClicked: _root.clicked(_missionItem.sequenceNumber)
             }
         }
     }
diff --git a/src/MissionEditor/MissionEditor.qml b/src/MissionEditor/MissionEditor.qml
index 89168723c38fc673d6d2da00a1dbe7af31a35f84..069895f2b11d5fccfd8936654652c44939a7ee45 100644
--- a/src/MissionEditor/MissionEditor.qml
+++ b/src/MissionEditor/MissionEditor.qml
@@ -49,7 +49,7 @@ QGCView {
     property var    activeVehiclePosition:  _activeVehicle ? _activeVehicle.coordinate : QtPositioning.coordinate()
     property bool   _lightWidgetBorders:    editorMap.isSatelliteMap
     property bool   _addWaypointOnClick:    false
-    property bool   _singleComplexItem:     missionController.complexMissionItemNames.length == 1
+    property bool   _singleComplexItem:     missionController.complexMissionItemNames.length === 1
 
     /// The controller which should be called for load/save, send to/from vehicle calls
     property var _syncDropDownController: missionController
@@ -459,7 +459,8 @@ QGCView {
                     model: missionController.visualItems
 
                     delegate: MissionItemMapVisual {
-                        map: editorMap
+                        map:        editorMap
+                        onClicked:  setCurrentItem(sequenceNumber)
                     }
                 }
 
@@ -702,6 +703,10 @@ QGCView {
 
                     property bool _showZoom: !ScreenTools.isMobile
 
+                    property bool mySingleComplexItem: _singleComplexItem
+
+                    onMySingleComplexItemChanged: console.log(model[1].dropPanelComponent)
+
                     model: [
                         {
                             name:       "Waypoint",
diff --git a/src/MissionEditor/MissionItemMapVisual.qml b/src/MissionEditor/MissionItemMapVisual.qml
index b86111a5657c5b988c241d70525b81d31e106a3e..c5c6d4c8dc0520303a5197e7082273e1d2dd916b 100644
--- a/src/MissionEditor/MissionItemMapVisual.qml
+++ b/src/MissionEditor/MissionItemMapVisual.qml
@@ -17,12 +17,14 @@ import QGroundControl.Palette       1.0
 import QGroundControl.Controls      1.0
 
 
-/// Mission item edit control
+/// Mission item map visual
 Item {
     id: _root
 
     property var map    ///< Map control to place item in
 
+    signal clicked(int sequenceNumber)
+
     property var _visualItem
 
     Component.onCompleted: {
@@ -32,6 +34,7 @@ Item {
                 console.log("Error loading Qml: ", object.mapVisualQML, component.errorString())
             }
             _visualItem = component.createObject(map, { "map": _root.map })
+            _visualItem.clicked.connect(_root.clicked)
         }
     }
 
diff --git a/src/MissionEditor/MissionSettingsMapVisual.qml b/src/MissionEditor/MissionSettingsMapVisual.qml
index 21fea1d8f973271227433c622faa3c3b71d2d6b3..48ab49d0e90e6bf6e6e771c16e55da6004792ad3 100644
--- a/src/MissionEditor/MissionSettingsMapVisual.qml
+++ b/src/MissionEditor/MissionSettingsMapVisual.qml
@@ -20,8 +20,12 @@ import QGroundControl.FlightMap     1.0
 
 /// Mission Settings map visuals
 Item {
+    id: _root
+
     property var map    ///< Map control to place item in
 
+    signal clicked(int sequenceNumber)
+
     property var    _missionItem:       object
     property var    _itemVisual
     property var    _dragArea
@@ -103,7 +107,7 @@ Item {
             z:              QGroundControl.zOrderMapItems
             missionItem:    _missionItem
 
-            onClicked: setCurrentItem(_missionItem.sequenceNumber)
+            onClicked: _root.clicked(_missionItem.sequenceNumber)
 
             // These are the non-coordinate child mission items attached to this item
             Row {
@@ -119,7 +123,7 @@ Item {
                         z:                      2
                         specifiesCoordinate:    false
 
-                        onClicked: setCurrentItem(object.sequenceNumber)
+                        onClicked: _root.Clicked(object.sequenceNumber)
                     }
                 }
             }
diff --git a/src/MissionEditor/SimpleItemMapVisual.qml b/src/MissionEditor/SimpleItemMapVisual.qml
index e875006e0eb0e320d22c063233da93008481338e..9e15e1eef29f118ab89ba30c06c67478a50ac138 100644
--- a/src/MissionEditor/SimpleItemMapVisual.qml
+++ b/src/MissionEditor/SimpleItemMapVisual.qml
@@ -20,6 +20,7 @@ import QGroundControl.FlightMap     1.0
 
 /// Simple Mission Item visuals
 Item {
+    id: _root
     property var map    ///< Map control to place item in
 
     property var    _missionItem:       object
@@ -28,6 +29,8 @@ Item {
     property bool   _itemVisualShowing: false
     property bool   _dragAreaShowing:   false
 
+    signal clicked(int sequenceNumber)
+
     function hideItemVisuals() {
         if (_itemVisualShowing) {
             _itemVisual.destroy()
@@ -104,7 +107,7 @@ Item {
             missionItem:    _missionItem
             sequenceNumber: _missionItem.sequenceNumber
 
-            onClicked: setCurrentItem(_missionItem.sequenceNumber)
+            onClicked: _root.clicked(_missionItem.sequenceNumber)
 
             // These are the non-coordinate child mission items attached to this item
             Row {
@@ -120,7 +123,7 @@ Item {
                         checked:                object.isCurrentItem
                         specifiesCoordinate:    false
 
-                        onClicked: setCurrentItem(object.sequenceNumber)
+                        onClicked: _root.clicked(object.sequenceNumber)
                     }
                 }
             }
diff --git a/src/MissionEditor/SurveyMapVisual.qml b/src/MissionEditor/SurveyMapVisual.qml
index 5abbef78d855dfa3c635a0d24f4afcaa3209e848..edff6af42a740e7133ca95eb90c31e1047e1dc73 100644
--- a/src/MissionEditor/SurveyMapVisual.qml
+++ b/src/MissionEditor/SurveyMapVisual.qml
@@ -20,6 +20,8 @@ import QGroundControl.FlightMap     1.0
 
 /// Survey Complex Mission Item visuals
 Item {
+    id: _root
+
     property var map    ///< Map control to place item in
 
     property var _missionItem:      object
@@ -30,6 +32,8 @@ Item {
     property var _dragHandles
     property var _splitHandles
 
+    signal clicked(int sequenceNumber)
+
     function _addVisualElements() {
         _polygon = polygonComponent.createObject(map)
         _grid = gridComponent.createObject(map)
@@ -148,12 +152,10 @@ Item {
             coordinate:     _missionItem.coordinate
             visible:        _missionItem.exitCoordinate.isValid
 
-            sourceItem:
-                MissionItemIndexLabel {
+            sourceItem: MissionItemIndexLabel {
                 label:      "Entry"
                 checked:    _missionItem.isCurrentItem
-
-                onClicked: setCurrentItem(_missionItem.sequenceNumber)
+                onClicked:  _root.clicked(_missionItem.sequenceNumber)
             }
         }
     }
@@ -169,12 +171,10 @@ Item {
             coordinate:     _missionItem.exitCoordinate
             visible:        _missionItem.exitCoordinate.isValid
 
-            sourceItem:
-                MissionItemIndexLabel {
+            sourceItem: MissionItemIndexLabel {
                 label:      "Exit"
                 checked:    _missionItem.isCurrentItem
-
-                onClicked: setCurrentItem(_missionItem.sequenceNumber)
+                onClicked:  _root.clicked(_missionItem.sequenceNumber)
             }
         }
     }
diff --git a/src/MissionManager/MissionController.cc b/src/MissionManager/MissionController.cc
index 518527976438d02ae398f21c0f2b5fc69d2017b8..6e459a867b8d68216b421a1cfaa6e2a686c61d32 100644
--- a/src/MissionManager/MissionController.cc
+++ b/src/MissionManager/MissionController.cc
@@ -1279,6 +1279,7 @@ void MissionController::_activeVehicleSet(void)
     connect(_activeVehicle, &Vehicle::homePositionChanged,              this, &MissionController::_activeVehicleHomePositionChanged);
     connect(_activeVehicle, &Vehicle::defaultCruiseSpeedChanged,        this, &MissionController::_recalcMissionFlightStatus);
     connect(_activeVehicle, &Vehicle::defaultHoverSpeedChanged,         this, &MissionController::_recalcMissionFlightStatus);
+    connect(_activeVehicle, &Vehicle::vehicleTypeChanged,               this, &MissionController::complexMissionItemNamesChanged);
 
     if (_activeVehicle->parameterManager()->parametersReady() && !syncInProgress()) {
         // We are switching between two previously existing vehicles. We have to manually ask for the items from the Vehicle.