diff -NbBur -x *.o -x *.d -x configure -x config.log -x obj -x gnu-gnu-gnu core0712/gui/Source/NSTextView.m core/gui/Source/NSTextView.m
--- core0712/gui/Source/NSTextView.m	Wed Jul  3 04:30:10 2002
+++ core/gui/Source/NSTextView.m	Mon Jul 15 17:28:04 2002
@@ -2998,6 +2998,14 @@
     }

   return YES;
+}
+
+- (void) becomeKeyWindow
+{
+  if([self shouldDrawInsertionPoint])
+    {
+      [self updateInsertionPointStateAndRestartTimer: YES];
+    }
 }

 - (void) resignKeyWindow
diff -NbBur -x *.o -x *.d -x configure -x config.log -x obj -x gnu-gnu-gnu core0712/gui/Source/NSWindow.m core/gui/Source/NSWindow.m
--- core0712/gui/Source/NSWindow.m	Mon Jul  1 04:30:18 2002
+++ core/gui/Source/NSWindow.m	Mon Jul 15 17:16:22 2002
@@ -1130,12 +1130,13 @@
 {
   if (_f.is_key == NO)
     {
+      _f.is_key = YES;
+
       [_firstResponder becomeFirstResponder];
       if ((_firstResponder != self)
 	&& [_firstResponder respondsToSelector: @selector(becomeKeyWindow)])
 	[_firstResponder becomeKeyWindow];

-      _f.is_key = YES;
       [GSServerForWindow(self) setinputstate: GSTitleBarKey : _windowNum];
       [GSServerForWindow(self) setinputfocus: _windowNum];
       [self resetCursorRects];
