diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt
index 611a782..bb04a6b 100644
--- a/runtime/doc/version6.txt
+++ b/runtime/doc/version6.txt
@@ -1703,7 +1703,7 @@
   is used.  Required for dead key support (and multi-byte input).
 - After a file selection dialog, check that the edited files were not changed
   or deleted.  The Win32 dialog allows deleting and renaming files.
-- Motif and Athena: Added support for "editres". (Martin Dalecki)
+- Motif and Athena: Added support for "editres". (Marcin Dalecki)
 - Motif and Athena: Added "menuFont" to be able to specify a font or fontset
   for the menus.  Can also be set with the "Menu" highlight group.  Useful
   when the locale is different from 'encoding'. (David Harrison)
@@ -1756,7 +1756,7 @@
 - When dropping a file on Vim, remove extra slashes from the start of the
   path.  Also shorten the file name if possible.
 
-Motif: (Martin Dalecki)
+Motif: (Marcin Dalecki)
 - Made the dialog layout better.
 - Added find and find/replace dialogs.
 - For the menus, change "iso-8859" to "iso_8859", Linux appears to need this.
@@ -3050,7 +3050,7 @@
 Also handle the scrollbars when they are not visible.
 
 Motif: When there is no right scrollbar, the bottom scrollbar would still
-leave room for it.  (Martin Dalecki)
+leave room for it.  (Marcin Dalecki)
 
 When changing 'guicursor' and the value is invalid, some of the effects would
 still take place.  Now first check for errors and only make the new value
@@ -3136,7 +3136,7 @@
 When doing ":view file" and it fails, the current buffer was made read-only.
 
 Motif: For some people the separators in the toolbar disappeared when resizing
-the Vim window. (Martin Dalecki)
+the Vim window. (Marcin Dalecki)
 
 Win32 GUI: when setting 'lines' to a huge number, would not compute the
 available space correctly.  Was counting the menu height twice.
@@ -3187,7 +3187,7 @@
 GTK: Similar problems with the find/replace dialog, moved the code to a common
 function.
 
-X11: Use shared GC's for text. (Martin Dalecki)
+X11: Use shared GC's for text. (Marcin Dalecki)
 
 "]i" found the match under the cursor, instead of the first one below it.
 Same for "]I", "] CTRL-I", "]d", "]D" and "] CTRL-D".
diff --git a/runtime/lang/menu_pl_pl.iso_8859-2.vim b/runtime/lang/menu_pl_pl.iso_8859-2.vim
index 6ade1d7..ac1b99f 100644
--- a/runtime/lang/menu_pl_pl.iso_8859-2.vim
+++ b/runtime/lang/menu_pl_pl.iso_8859-2.vim
@@ -1,6 +1,6 @@
 " Menu Translations:	Polish
 " Maintainer:		Rafal M. Sulejman <rms@poczta.onet.pl>
-" Initial Translation:	Marcin Dalecki <dalecki@cs.net.pl>
+" Initial Translation:	Marcin Dalecki <martin@dalecki.de>
 " Last Change: 5 May  2004
 
 " Quit when menu translations have already been done.
diff --git a/runtime/lang/menu_polish_poland.1250.vim b/runtime/lang/menu_polish_poland.1250.vim
index 1894452..6e66cf3 100644
--- a/runtime/lang/menu_polish_poland.1250.vim
+++ b/runtime/lang/menu_polish_poland.1250.vim
@@ -1,6 +1,6 @@
 " Menu Translations:	Polish
 " Maintainer:		Rafal M. Sulejman <rms@poczta.onet.pl>
-" Initial Translation:	Marcin Dalecki <dalecki@cs.net.pl>
+" Initial Translation:	Marcin Dalecki <martin@dalecki.de>
 " Last Change:	06 Sep 2001
 
 " Quit when menu translations have already been done.
diff --git a/src/configure.in b/src/configure.in
index 16bbf13..c3176df 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -1091,23 +1091,10 @@
 SKIP_ATHENA=YES
 SKIP_NEXTAW=YES
 SKIP_PHOTON=YES
-SKIP_BEOS=YES
 SKIP_CARBON=YES
 GUITYPE=NONE
 
-if test "x$BEOS" = "xyes"; then
-  SKIP_BEOS=
-  case "$enable_gui_canon" in
-    no)		AC_MSG_RESULT(no GUI support)
-		SKIP_BEOS=YES ;;
-    yes|"")	AC_MSG_RESULT(yes - automatic GUI support) ;;
-    auto)	AC_MSG_RESULT(auto - automatic GUI support) ;;
-    beos)	AC_MSG_RESULT(BeOS GUI support) ;;
-    *)		AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
-		SKIP_BEOS=YES ;;
-  esac
-
-elif test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
+if test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
   SKIP_PHOTON=
   case "$enable_gui_canon" in
     no)		AC_MSG_RESULT(no GUI support)
@@ -1574,7 +1561,6 @@
   SKIP_ATHENA=YES;
   SKIP_NEXTAW=YES;
   SKIP_PHOTON=YES;
-  SKIP_BEOS=YES;
   SKIP_CARBON=YES
 fi
 
@@ -2158,11 +2144,6 @@
   enable_fontset="no"
 fi
 
-dnl There is no test for the BeOS GUI, if it's selected it's used
-if test -z "$SKIP_BEOS"; then
-  GUITYPE=BEOSGUI
-fi
-
 if test -z "$SKIP_PHOTON"; then
   GUITYPE=PHOTONGUI
 fi
diff --git a/src/po/pl.cp1250.po b/src/po/pl.cp1250.po
index f569ae6..ccc1ea3 100644
--- a/src/po/pl.cp1250.po
+++ b/src/po/pl.cp1250.po
@@ -2,7 +2,7 @@
 # Polish Translation for Vim
 #
 # updated 2001 for vim-6.0
-# FIRST AUTHOR Marcin Dalecki <dalecki@cyber.cs.net.pl>, 2000.
+# FIRST AUTHOR Marcin Dalecki <martin@dalecki.de>, 2000.
 # Mikolaj Machowski <mikmach@wp.pl>, 2004.
 #
 msgid ""
diff --git a/src/screen.c b/src/screen.c
index 11b4dcc..ef7a87f 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -6475,10 +6475,6 @@
 
     win_new_shellsize();    /* fit the windows in the new sized shell */
 
-#ifdef FEAT_GUI_BEOS
-    vim_lock_screen();  /* be safe, put it here */
-#endif
-
     comp_col();		/* recompute columns for shown command and ruler */
 
     /*
@@ -6692,9 +6688,6 @@
     }
 #endif
 
-#ifdef FEAT_GUI_BEOS
-    vim_unlock_screen();
-#endif
     entered = FALSE;
 }
 
@@ -7526,9 +7519,6 @@
 	clip_scroll_selection(-line_count);
 #endif
 
-#ifdef FEAT_GUI_BEOS
-    vim_lock_screen();
-#endif
 #ifdef FEAT_GUI
     /* Don't update the GUI cursor here, ScreenLines[] is invalid until the
      * scrolling is actually carried out. */
@@ -7580,9 +7570,6 @@
 		lineinvalid(temp, (int)Columns);
 	}
     }
-#ifdef FEAT_GUI_BEOS
-    vim_unlock_screen();
-#endif
 
     screen_stop_highlight();
     windgoto(cursor_row, 0);
@@ -7754,9 +7741,6 @@
 	clip_scroll_selection(line_count);
 #endif
 
-#ifdef FEAT_GUI_BEOS
-    vim_lock_screen();
-#endif
 #ifdef FEAT_GUI
     /* Don't update the GUI cursor here, ScreenLines[] is invalid until the
      * scrolling is actually carried out. */
@@ -7815,9 +7799,6 @@
 		lineinvalid(temp, (int)Columns);
 	}
     }
-#ifdef FEAT_GUI_BEOS
-    vim_unlock_screen();
-#endif
 
     screen_stop_highlight();
 
diff --git a/src/testdir/test30.ok b/src/testdir/test30.ok
index c294483..380ce67 100644
--- a/src/testdir/test30.ok
+++ b/src/testdir/test30.ok
Binary files differ
