- Issue #13840: Fix ctypes.create_string_buffer exception message and docs.
diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst
index fce5913..df39c28 100644
--- a/Doc/library/ctypes.rst
+++ b/Doc/library/ctypes.rst
@@ -1815,8 +1815,6 @@
    termination character. An integer can be passed as second argument which allows
    to specify the size of the array if the length of the bytes should not be used.
 
-   If the first parameter is a string, it is converted into a bytes object
-   according to ctypes conversion rules.
 
 
 .. function:: create_unicode_buffer(init_or_size, size=None)
@@ -1833,8 +1831,6 @@
    allows to specify the size of the array if the length of the string should not
    be used.
 
-   If the first parameter is a bytes object, it is converted into an unicode string
-   according to ctypes conversion rules.
 
 
 .. function:: DllCanUnloadNow()
diff --git a/Misc/NEWS b/Misc/NEWS
index 5e2c47e..7005518 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -402,6 +402,9 @@
 Extension Modules
 -----------------
 
+- Issue #13840: The error message produced by ctypes.create_string_buffer
+  when given a Unicode string has been fixed.
+
 - Issue #9975: socket: Fix incorrect use of flowinfo and scope_id. Patch by
   Vilmos Nebehaj.
 
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index 8f378e2..8be5958 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -1096,7 +1096,7 @@
 
     if (!PyBytes_Check(value)) {
         PyErr_Format(PyExc_TypeError,
-                     "str/bytes expected instead of %s instance",
+                     "bytes expected instead of %s instance",
                      Py_TYPE(value)->tp_name);
         return -1;
     } else