--- CVS/core/gui/Source/NSMenuView.m	Tue Oct 29 07:45:13 2002
+++ CVS.build/gui/Source/NSMenuView.m	Sun Jan 19 21:51:50 2003
@@ -29,6 +29,7 @@
 
 
 #include <Foundation/NSThread.h>
+#include <Foundation/NSRunLoop.h>
 
 #include <AppKit/NSApplication.h>
 #include <AppKit/NSEvent.h>
@@ -878,10 +879,15 @@
 
   [targetMenuView setHighlightedItemIndex: indexToHighlight];
 
+  [[NSRunLoop currentRunLoop] 
+    runUntilDate: [NSDate dateWithTimeIntervalSinceNow: 0.1]];
+
   [_menu performActionForItemAtIndex: index];
-  [NSThread sleepUntilDate: [NSDate dateWithTimeIntervalSinceNow: 0.1]];
 
+  if (![_menu _ownedByPopUp])
+    {
   [targetMenuView setHighlightedItemIndex: -1];
+    }
 }
 
 #define MOVE_THRESHOLD_DELTA 2.0
