diff --git a/Nasal/gui.nas b/Nasal/gui.nas
index 2c9915d5b..ccb26f062 100644
--- a/Nasal/gui.nas
+++ b/Nasal/gui.nas
@@ -1506,8 +1506,10 @@ setlistener(p ~ "aircraft-enable", func(n) set_precip(precip_ac = n.getValue()),
 
 # the autovisibility feature of the menubar
 # automatically show the menubar if the mouse is at the upper edge of the window
-# the menubar is hidden by a binding to a LMB click in mode 0 in mice.xml
+# the menubar is hidden by mouse mode != 0 and a binding to a LMB click in mode
+# 0 in mice.xml
 var menubarAutoVisibilityListener = nil;
+var menubarAutoVisibilityMouseModeListener = nil;
 var menubarAutoVisibilityEdge = props.globals.initNode( "/sim/menubar/autovisibility/edge-size", 5, "INT" );
 var menubarVisibility = props.globals.initNode( "/sim/menubar/visibility", 0, "BOOL" );
 var currentMenubarVisibility = menubarVisibility.getValue();
@@ -1525,12 +1527,19 @@ setlistener( "/sim/menubar/autovisibility/enabled", func(n) {
         menubarVisibility.setBoolValue( 1 );
 
     }, 1, 0 );
+    menubarAutoVisibilityListener = setlistener( mouseMode.getPath(), func(n) {
+      if( n.getValue() != 0 ) {
+        menubarVisibility.setBoolValue( 0 );
+      }
+    }, 1, 0 );
   }
 
   # do not listen to the mouse position if this feature is enabled
   if( n.getValue() == 0 and menubarAutoVisibilityListener != nil ) {
     removelistener( menubarAutoVisibilityListener );
+    removelistener( menubarAutoVisibilityMouseModeListener );
     menubarAutoVisibilityListener = nil;
+    menubarAutoVisibilityMouseModeListener = nil;
     menubarVisibility.setBoolValue(currentMenubarVisibility);
   }
 }, 1, 0);