diff --git a/Doc/library/base64.rst b/Doc/library/base64.rst
index 2a9840b..e346efb 100644
--- a/Doc/library/base64.rst
+++ b/Doc/library/base64.rst
@@ -45,9 +45,9 @@
    length 2 (additional characters are ignored) which specifies the alternative
    alphabet used instead of the ``+`` and ``/`` characters.
 
-   The decoded string is returned.  A :exc:`TypeError` is raised if *s* were
-   incorrectly padded or if there are non-alphabet characters present in the
-   string.
+   The decoded string is returned.  A :exc:`TypeError` is raised if *s* is
+   incorrectly padded.  Non-base64-alphabet characters are
+   discarded prior to the padding check.
 
 
 .. function:: standard_b64encode(s)
diff --git a/Lib/base64.py b/Lib/base64.py
index 82c112c..844907f 100755
--- a/Lib/base64.py
+++ b/Lib/base64.py
@@ -64,9 +64,9 @@
     length 2 (additional characters are ignored) which specifies the
     alternative alphabet used instead of the '+' and '/' characters.
 
-    The decoded string is returned.  A TypeError is raised if s were
-    incorrectly padded or if there are non-alphabet characters present in the
-    string.
+    The decoded string is returned.  A TypeError is raised if s is
+    incorrectly padded.  Non-base64-alphabet characters are discarded prior
+    to the padding check.
     """
     if altchars is not None:
         s = s.translate(string.maketrans(altchars[:2], '+/'))
diff --git a/Lib/test/test_base64.py b/Lib/test/test_base64.py
index 3f2cee4..5dd283b 100644
--- a/Lib/test/test_base64.py
+++ b/Lib/test/test_base64.py
@@ -137,9 +137,23 @@
         # Non-bytes
         eq(base64.urlsafe_b64decode(bytearray('01a-b_cd')), '\xd3V\xbeo\xf7\x1d')
 
-    def test_b64decode_error(self):
+    def test_b64decode_padding_error(self):
         self.assertRaises(TypeError, base64.b64decode, 'abc')
 
+    def test_b64decode_invalid_chars(self):
+        # issue 1466065: Test some invalid characters.
+        tests = ((b'%3d==', b'\xdd'),
+                 (b'$3d==', b'\xdd'),
+                 (b'[==', b''),
+                 (b'YW]3=', b'am'),
+                 (b'3{d==', b'\xdd'),
+                 (b'3d}==', b'\xdd'),
+                 (b'@@', b''),
+                 (b'!', b''),
+                 (b'YWJj\nYWI=', b'abcab'))
+        for bstr, res in tests:
+            self.assertEqual(base64.b64decode(bstr), res)
+
     def test_b32encode(self):
         eq = self.assertEqual
         eq(base64.b32encode(''), '')
