diff --git a/Lib/argparse.py b/Lib/argparse.py
index a4009d0..b5bb19a 100644
--- a/Lib/argparse.py
+++ b/Lib/argparse.py
@@ -1157,9 +1157,13 @@
     __hash__ = None
 
     def __eq__(self, other):
+        if not isinstance(other, Namespace):
+            return NotImplemented
         return vars(self) == vars(other)
 
     def __ne__(self, other):
+        if not isinstance(other, Namespace):
+            return NotImplemented
         return not (self == other)
 
     def __contains__(self, key):
diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py
index fdf2b67..0df66ad 100644
--- a/Lib/test/test_argparse.py
+++ b/Lib/test/test_argparse.py
@@ -4453,6 +4453,12 @@
         self.assertTrue(ns2 != ns3)
         self.assertTrue(ns2 != ns4)
 
+    def test_equality_returns_notimplemeted(self):
+        # See issue 21481
+        ns = argparse.Namespace(a=1, b=2)
+        self.assertIs(ns.__eq__(None), NotImplemented)
+        self.assertIs(ns.__ne__(None), NotImplemented)
+
 
 # ===================
 # File encoding tests
diff --git a/Misc/NEWS b/Misc/NEWS
index 34c0074..663f389 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -21,6 +21,9 @@
 - Issue #8743: Fix interoperability between set objects and the
   collections.Set() abstract base class.
 
+- Issue #21481:  Argparse equality and inequality tests now return 
+  NotImplemented when comparing to an unknown type.
+
 Tests
 -----
 
