Issue #21629: Merge from 3.4.
diff --git a/Misc/NEWS b/Misc/NEWS
index 59a07f3..ad2106a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -623,6 +623,8 @@
 Tools/Demos
 -----------
 
+- Issue #21629: Fix Argument Clinic's "--converters" feature.
+
 - Add support for ``yield from`` to 2to3.
 
 - Add support for the PEP 465 matrix multiplication operator to 2to3.
diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py
index 68a1436..93e8f5a 100755
--- a/Tools/clinic/clinic.py
+++ b/Tools/clinic/clinic.py
@@ -2044,11 +2044,9 @@
     # automatically add converter for default format unit
     # (but without stomping on the existing one if it's already
     # set, in case you subclass)
-    if ((cls.format_unit != 'O&') and
+    if ((cls.format_unit not in ('O&', '')) and
         (cls.format_unit not in legacy_converters)):
         legacy_converters[cls.format_unit] = cls
-        if cls.format_unit:
-            legacy_converters[cls.format_unit] = cls
     return cls
 
 def add_legacy_c_converter(format_unit, **kwargs):