diff --git a/src/FlightDisplay/FlyViewMap.qml b/src/FlightDisplay/FlyViewMap.qml
index 8dcfaf3..5d60f5e 100644
--- a/src/FlightDisplay/FlyViewMap.qml
+++ b/src/FlightDisplay/FlyViewMap.qml
@@ -12,6 +12,7 @@ import QtQuick.Controls             2.4
 import QtLocation                   5.3
 import QtPositioning                5.3
 import QtQuick.Dialogs              1.2
+import QtQuick.Layouts              1.11
 
 import QGroundControl               1.0
 import QGroundControl.Airspace      1.0
@@ -511,38 +512,81 @@ FlightMap {
         }
     }
 
+
     // Handle guided mode clicks
     MouseArea {
         anchors.fill: parent
 
-        QGCMenu {
+        Popup {
             id: clickMenu
+            modal: true
+
             property var coord
-            QGCMenuItem {
-                text:           qsTr("Go to location")
-                visible:        globals.guidedControllerFlyView.showGotoLocation
 
-                onTriggered: {
-                    gotoLocationItem.show(clickMenu.coord)
-                    globals.guidedControllerFlyView.confirmAction(globals.guidedControllerFlyView.actionGoto, clickMenu.coord, gotoLocationItem)
+            function setCoordinates(mouseX, mouseY) {
+                var newX = mouseX
+                var newY = mouseY
+
+                // Filtering coordinates
+                if (newX + clickMenu.width > _root.width) {
+                    newX = _root.width - clickMenu.width
                 }
+                if (newY + clickMenu.height > _root.height) {
+                    newY = _root.height - clickMenu.height
+                }
+
+                // Set coordiantes
+                x = newX
+                y = newY
             }
-            QGCMenuItem {
-                text:           qsTr("Orbit at location")
-                visible:        globals.guidedControllerFlyView.showOrbit
 
-                onTriggered: {
-                    orbitMapCircle.show(clickMenu.coord)
-                    globals.guidedControllerFlyView.confirmAction(globals.guidedControllerFlyView.actionOrbit, clickMenu.coord, orbitMapCircle)
-                }
+            background: Rectangle {
+                radius: ScreenTools.defaultFontPixelHeight * 0.5
+                color: qgcPal.window
+                border.color: qgcPal.text
             }
-            QGCMenuItem {
-                text:           qsTr("ROI at location")
-                visible:        globals.guidedControllerFlyView.showROI
 
-                onTriggered: {
-                    roiLocationItem.show(clickMenu.coord)
-                    globals.guidedControllerFlyView.confirmAction(globals.guidedControllerFlyView.actionROI, clickMenu.coord, roiLocationItem)
+            ColumnLayout {
+                id: mainLayout
+                spacing: ScreenTools.defaultFontPixelWidth / 2
+
+                QGCButton {
+                    Layout.fillWidth: true
+                    text: "Go to location"
+                    visible: globals.guidedControllerFlyView.showGotoLocation
+                    onClicked: {
+                        if (clickMenu.opened) {
+                            clickMenu.close()
+                        }
+                        gotoLocationItem.show(clickMenu.coord)
+                        globals.guidedControllerFlyView.confirmAction(globals.guidedControllerFlyView.actionGoto, clickMenu.coord, gotoLocationItem)
+                    }
+                }
+
+                QGCButton {
+                    Layout.fillWidth: true
+                    text: "Orbit at location"
+                    visible: globals.guidedControllerFlyView.showOrbit
+                    onClicked: {
+                        if (clickMenu.opened) {
+                            clickMenu.close()
+                        }
+                        orbitMapCircle.show(clickMenu.coord)
+                        globals.guidedControllerFlyView.confirmAction(globals.guidedControllerFlyView.actionOrbit, clickMenu.coord, orbitMapCircle)
+                    }
+                }
+
+                QGCButton {
+                    Layout.fillWidth: true
+                    text: "ROI at location"
+                    visible: globals.guidedControllerFlyView.showROI
+                    onClicked: {
+                        if (clickMenu.opened) {
+                            clickMenu.close()
+                        }
+                        roiLocationItem.show(clickMenu.coord)
+                        globals.guidedControllerFlyView.confirmAction(globals.guidedControllerFlyView.actionROI, clickMenu.coord, roiLocationItem)
+                    }
                 }
             }
         }
@@ -553,7 +597,8 @@ FlightMap {
                 gotoLocationItem.hide()
                 var clickCoord = _root.toCoordinate(Qt.point(mouse.x, mouse.y), false /* clipToViewPort */)
                 clickMenu.coord = clickCoord
-                clickMenu.popup()
+                clickMenu.setCoordinates(mouse.x, mouse.y)
+                clickMenu.open()
             }
         }
     }