diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index c730527..83a4904 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -8569,10 +8569,7 @@
 	xterm entries...).
 
 				     *'ttyfast'* *'tf'* *'nottyfast'* *'notf'*
-'ttyfast' 'tf'		boolean	(default off, on when 'term' is xterm, hpterm,
-					sun-cmd, screen, rxvt, dtterm or
-					iris-ansi; also on when running Vim in
-					a DOS console)
+'ttyfast' 'tf'		boolean	(default on)
 			global
 	Indicates a fast terminal connection.  More characters will be sent to
 	the screen for redrawing, instead of using insert/delete line
@@ -8582,6 +8579,14 @@
 	line for lines that wrap.  This helps when using copy/paste with the
 	mouse in an xterm and other terminals.
 
+	The default used to be set only for some terminal names, but these
+	days nearly all terminals are fast, therefore the default is now "on".
+	If you have a slow connection you may want to set this option off,
+	e.g. depending on the host name: >
+		if hostname() =~ 'faraway'
+		   set nottyfast
+		endif
+<
 						*'ttymouse'* *'ttym'*
 'ttymouse' 'ttym'	string	(default depends on 'term')
 			global
diff --git a/runtime/doc/os_unix.txt b/runtime/doc/os_unix.txt
index 0b0f389..f875f16 100644
--- a/runtime/doc/os_unix.txt
+++ b/runtime/doc/os_unix.txt
@@ -28,10 +28,11 @@
 can be changed at compile time.
 (For forking of the GUI version see |gui-fork|.)
 
-Because terminal updating under Unix is often slow (e.g. serial line
-terminal, shell window in suntools), the 'showcmd' and 'ruler' options
-are off by default.  If you have a fast terminal, try setting them on.  You
-might also want to set 'ttyfast'.
+For historic reasons terminal updating under Unix is expected to be slow (e.g.
+serial line terminal, shell window in suntools), the 'showcmd' and 'ruler'
+options are off by default.  If you have a fast terminal, try setting them
+on: >
+	set showcmd ruler
 
 When using Vim in an xterm the mouse clicks can be used by Vim by setting
 'mouse' to "a".  If there is access to an X-server gui style copy/paste will
diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt
index b2a1590..8ba12ba 100644
--- a/runtime/doc/os_vms.txt
+++ b/runtime/doc/os_vms.txt
@@ -458,18 +458,11 @@
 
 Vim will also recognize that they are fast terminals.
 
-If you have some annoying line jumping on the screen between windows add to
-your .vimrc file: >
-
-	set ttyfast	" set fast terminal
-
-Note: if you're using Vim on remote host or through a very slow connection, it's
-recommended to avoid the fast terminal option with: >
+If you're using Vim on remote host or through a very slow connection, you
+might want to reset fast terminal option with: >
 
 	set nottyfast   " set terminal to slow mode
 
-(Zoltan Arpadffy, Vim 5.6)
-
 
 8.7 Hex-editing and other external tools
 
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index fdbcc7d..2bd83c7 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -768,8 +768,9 @@
 
 If your terminal does not support a scrolling region, but it does support
 insert/delete line commands, scrolling with multiple windows may make the
-lines jump up and down.  If you don't want this set the 'ttyfast' option.
-This will redraw the window instead of scroll it.
+lines jump up and down.  This would happen if the 'ttyfast' option has been
+reset.  Check that with: >
+	verbose set ttyfast?
 
 If your terminal scrolls very slowly, but redrawing is not slow, set the
 'ttyscroll' option to a small number, e.g., 3.  This will make Vim redraw the
diff --git a/src/optiondefs.h b/src/optiondefs.h
index 0278b60..e7eb357 100644
--- a/src/optiondefs.h
+++ b/src/optiondefs.h
@@ -2599,7 +2599,7 @@
 			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
     {"ttyfast",	    "tf",   P_BOOL|P_NO_MKRC|P_VI_DEF,
 			    (char_u *)&p_tf, PV_NONE,
-			    {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
+			    {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
     {"ttymouse",    "ttym", P_STRING|P_NODEFAULT|P_NO_MKRC|P_VI_DEF,
 #if defined(UNIX) || defined(VMS)
 			    (char_u *)&p_ttym, PV_NONE,
diff --git a/src/os_unix.c b/src/os_unix.c
index 0540fc9..fd6d35f 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -2438,24 +2438,6 @@
 }
 
 /*
- * Return TRUE if "name" is a terminal for which 'ttyfast' should be set.
- * This should include all windowed terminal emulators.
- */
-    int
-vim_is_fastterm(char_u *name)
-{
-    if (name == NULL)
-	return FALSE;
-    if (vim_is_xterm(name) || vim_is_vt300(name) || vim_is_iris(name))
-	return TRUE;
-    return (   STRNICMP(name, "hpterm", 6) == 0
-	    || STRNICMP(name, "sun-cmd", 7) == 0
-	    || STRNICMP(name, "screen", 6) == 0
-	    || STRNICMP(name, "tmux", 4) == 0
-	    || STRNICMP(name, "dtterm", 6) == 0);
-}
-
-/*
  * Insert user name in s[len].
  * Return OK if a name found.
  */
diff --git a/src/proto/os_unix.pro b/src/proto/os_unix.pro
index f30b78d..9266364 100644
--- a/src/proto/os_unix.pro
+++ b/src/proto/os_unix.pro
@@ -23,7 +23,6 @@
 int use_xterm_mouse(void);
 int vim_is_iris(char_u *name);
 int vim_is_vt300(char_u *name);
-int vim_is_fastterm(char_u *name);
 int mch_get_user_name(char_u *s, int len);
 int mch_get_uname(uid_t uid, char_u *s, int len);
 void mch_get_host_name(char_u *s, int len);
diff --git a/src/term.c b/src/term.c
index 8a42833..ec3c3db 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2174,21 +2174,6 @@
     }
 #endif
 
-#if defined(UNIX) || defined(VMS)
-    /*
-     * 'ttyfast' is default on for xterm, iris-ansi and a few others.
-     */
-    if (vim_is_fastterm(term))
-	p_tf = TRUE;
-#endif
-#ifdef USE_TERM_CONSOLE
-    /*
-     * 'ttyfast' is default on consoles
-     */
-    if (term_console)
-	p_tf = TRUE;
-#endif
-
     ttest(TRUE);	// make sure we have a valid set of terminal codes
 
     full_screen = TRUE;		// we can use termcap codes from now on
diff --git a/src/version.c b/src/version.c
index 5686005..8427210 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    948,
+/**/
     947,
 /**/
     946,
