diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index 4b009d3..42fe2c9 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -413,13 +413,13 @@
 to point to the right file, if needed.  If you have both the 32-bit and 64-bit
 version, rename to winpty32.dll and winpty64.dll to match the way Vim was
 build.
-							*ConPTY*
+							*ConPTY* *E982*
 On more recent versions of MS-Windows 10 (beginning with the "October 2018
 Update"), winpty is no longer required. On those versions, |:terminal| will use
 Windows' built-in support for hosting terminal applications, "ConPTY".  When
 ConPTY is in use, there may be rendering artifacts regarding ambiguous-width
-characters. If you encounter any such issues, set 'termwintype' to "winpty"
-(which you then must have instlled).
+characters. If you encounter any such issues, install "winpty".  Until the
+ConPTY problems have been fixed "winpty" will be preferred.
 
 Environment variables are used to pass information to the running job:
     VIM_SERVERNAME	v:servername
diff --git a/src/terminal.c b/src/terminal.c
index 714cb2b..899d3b6 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -5620,10 +5620,8 @@
     static int
 dyn_conpty_init(int verbose)
 {
-    static BOOL	handled = FALSE;
-    static int	result;
-    HMODULE	hKerneldll;
-    int		i;
+    static HMODULE	hKerneldll = NULL;
+    int			i;
     static struct
     {
 	char	*name;
@@ -5642,16 +5640,17 @@
 	{NULL, NULL}
     };
 
-    if (handled)
-	return result;
-
     if (!has_conpty_working())
     {
-	handled = TRUE;
-	result = FAIL;
+	if (verbose)
+	    emsg(_("E982: ConPTY is not available"));
 	return FAIL;
     }
 
+    // No need to initialize twice.
+    if (hKerneldll)
+	return OK;
+
     hKerneldll = vimLoadLib("kernel32.dll");
     for (i = 0; conpty_entry[i].name != NULL
 					&& conpty_entry[i].ptr != NULL; ++i)
@@ -5661,12 +5660,11 @@
 	{
 	    if (verbose)
 		semsg(_(e_loadfunc), conpty_entry[i].name);
+	    hKerneldll = NULL;
 	    return FAIL;
 	}
     }
 
-    handled = TRUE;
-    result = OK;
     return OK;
 }
 
@@ -6015,6 +6013,7 @@
 	{
 	    if (verbose)
 		semsg(_(e_loadfunc), winpty_entry[i].name);
+	    hWinPtyDLL = NULL;
 	    return FAIL;
 	}
     }
diff --git a/src/version.c b/src/version.c
index 4662831..8a7ab7f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -784,6 +784,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    929,
+/**/
     928,
 /**/
     927,
