diff --git a/Lib/lib-tk/test/test_tkinter/test_font.py b/Lib/lib-tk/test/test_tkinter/test_font.py
new file mode 100644
index 0000000..8e20f4d
--- /dev/null
+++ b/Lib/lib-tk/test/test_tkinter/test_font.py
@@ -0,0 +1,35 @@
+import unittest
+import Tkinter
+#from Tkinter
+import tkFont as font
+from test.test_support import requires, run_unittest
+import test_ttk.support as support
+
+requires('gui')
+
+class FontTest(unittest.TestCase):
+
+    def setUp(self):
+        support.root_deiconify()
+
+    def tearDown(self):
+        support.root_withdraw()
+
+    def test_font_eq(self):
+        fontname = "TkDefaultFont"
+        try:
+            f = font.Font(name=fontname, exists=True)
+        except tkinter._tkinter.TclError:
+            f = font.Font(name=fontname, exists=False)
+        font1 = font.nametofont(fontname)
+        font2 = font.nametofont(fontname)
+        self.assertIsNot(font1, font2)
+        self.assertEqual(font1, font2)
+        self.assertNotEqual(font1, font1.copy())
+        self.assertNotEqual(font1, 0)
+        self.assertNotIn(font1, [0])
+
+tests_gui = (FontTest, )
+
+if __name__ == "__main__":
+    run_unittest(*tests_gui)
diff --git a/Lib/lib-tk/tkFont.py b/Lib/lib-tk/tkFont.py
index 61c2f86..dfdee42 100644
--- a/Lib/lib-tk/tkFont.py
+++ b/Lib/lib-tk/tkFont.py
@@ -97,7 +97,7 @@
         return self.name
 
     def __eq__(self, other):
-        return self.name == other.name and isinstance(other, Font)
+        return isinstance(other, Font) and self.name == other.name
 
     def __getitem__(self, key):
         return self.cget(key)
diff --git a/Misc/NEWS b/Misc/NEWS
index a6c1416..f1c9ab3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -13,6 +13,9 @@
 Library
 -------
 
+- Issue #1730136: Fix the comparison between a tkFont.Font and an object of
+  another kind.
+
 - Issue #19884: readline: Disable the meta modifier key if stdout is not
   a terminal to not write the ANSI sequence "\033[1034h" into stdout. This
   sequence is used on some terminal (ex: TERM=xterm-256color") to enable
