--- xvi-2.50.3/src/unix.c.orig
+++ xvi-2.50.3/src/unix.c
@@ -574,6 +574,10 @@
#ifdef TERMIO
#   ifdef      POSIX
       ospeed = cfgetospeed(&cooked_state);
+       if (ospeed > 18) {
+               /* GNU termcap can't handle large values */
+               ospeed = 0;
+       }
#   else       /* not POSIX */
       ospeed = speeds[cooked_state.c_cflag & CBAUD];
#   endif