diff --git a/Lib/test/test_float.py b/Lib/test/test_float.py
index 2d3b357..123a69d 100644
--- a/Lib/test/test_float.py
+++ b/Lib/test/test_float.py
@@ -78,11 +78,18 @@
             def __float__(self):
                 return 42
 
+        # Issue 5759: __float__ not called on str subclasses (though it is on
+        # unicode subclasses).
+        class FooStr(str):
+            def __float__(self):
+                return float(str(self)) + 1
+
         self.assertAlmostEqual(float(Foo0()), 42.)
         self.assertAlmostEqual(float(Foo1()), 42.)
         self.assertAlmostEqual(float(Foo2()), 42.)
         self.assertAlmostEqual(float(Foo3(21)), 42.)
         self.assertRaises(TypeError, float, Foo4(42))
+        self.assertAlmostEqual(float(FooStr('8')), 9.)
 
     def test_floatasratio(self):
         for f, ratio in [
diff --git a/Misc/NEWS b/Misc/NEWS
index cf07f86..866a5b5 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,8 @@
 Core and Builtins
 -----------------
 
+- Issue #5759: float() didn't call __float__ on str subclasses.
+
 - The string.maketrans() function is deprecated; there is a new static method
   maketrans() on the bytes and bytearray classes.  This removes confusion about
   the types string.maketrans() is supposed to work with, and mirrors the
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index e77b2dc..2ef4d1a 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -1533,7 +1533,9 @@
 		return float_subtype_new(type, args, kwds); /* Wimp out */
 	if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O:float", kwlist, &x))
 		return NULL;
-	if (PyUnicode_Check(x))
+	/* If it's a string, but not a string subclass, use
+	   PyFloat_FromString. */
+	if (PyUnicode_CheckExact(x))
 		return PyFloat_FromString(x);
 	return PyNumber_Float(x);
 }
