diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index 57b22c6..64c66d8 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -1072,6 +1072,12 @@
         support.gc_collect()
         self.assertTrue(wr() is None, wr)
 
+    def test_args_error(self):
+        # Issue #17275
+        with self.assertRaisesRegex(TypeError, "BufferedReader"):
+            self.tp(io.BytesIO(), 1024, 1024, 1024)
+
+
 class PyBufferedReaderTest(BufferedReaderTest):
     tp = pyio.BufferedReader
 
@@ -1363,6 +1369,11 @@
         with self.open(support.TESTFN, "rb") as f:
             self.assertEqual(f.read(), b"123xxx")
 
+    def test_args_error(self):
+        # Issue #17275
+        with self.assertRaisesRegex(TypeError, "BufferedWriter"):
+            self.tp(io.BytesIO(), 1024, 1024, 1024)
+
 
 class PyBufferedWriterTest(BufferedWriterTest):
     tp = pyio.BufferedWriter
@@ -1715,6 +1726,7 @@
     # You can't construct a BufferedRandom over a non-seekable stream.
     test_unseekable = None
 
+
 class CBufferedRandomTest(BufferedRandomTest, SizeofTest):
     tp = io.BufferedRandom
 
@@ -1732,6 +1744,12 @@
         CBufferedReaderTest.test_garbage_collection(self)
         CBufferedWriterTest.test_garbage_collection(self)
 
+    def test_args_error(self):
+        # Issue #17275
+        with self.assertRaisesRegex(TypeError, "BufferedRandom"):
+            self.tp(io.BytesIO(), 1024, 1024, 1024)
+
+
 class PyBufferedRandomTest(BufferedRandomTest):
     tp = pyio.BufferedRandom
 
diff --git a/Misc/ACKS b/Misc/ACKS
index f88d95c..14bf260 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -555,6 +555,7 @@
 Adam Jackson
 Ben Jackson
 Paul Jackson
+Manuel Jacob
 David Jacobs
 Kevin Jacobs
 Kjetil Jacobsen
diff --git a/Misc/NEWS b/Misc/NEWS
index 258c549..baaa49a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,9 @@
 Core and Builtins
 -----------------
 
+- Issue #17275: Corrected class name in init error messages of the C version of
+  BufferedWriter and BufferedRandom.
+
 - Issue #7963: Fixed misleading error message that issued when object is
   called without arguments.
 
diff --git a/Modules/_io/bufferedio.c b/Modules/_io/bufferedio.c
index b077f34..2b39f66 100644
--- a/Modules/_io/bufferedio.c
+++ b/Modules/_io/bufferedio.c
@@ -1817,7 +1817,7 @@
     self->ok = 0;
     self->detached = 0;
 
-    if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|n:BufferedReader", kwlist,
+    if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|n:BufferedWriter", kwlist,
                                      &raw, &buffer_size)) {
         return -1;
     }
@@ -2446,7 +2446,7 @@
     self->ok = 0;
     self->detached = 0;
 
-    if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|n:BufferedReader", kwlist,
+    if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|n:BufferedRandom", kwlist,
                                      &raw, &buffer_size)) {
         return -1;
     }
