diff --git a/Lib/decimal.py b/Lib/decimal.py
index 3cb3b80..361126f 100644
--- a/Lib/decimal.py
+++ b/Lib/decimal.py
@@ -1581,7 +1581,13 @@
 
     def __float__(self):
         """Float representation."""
-        return float(str(self))
+        if self._isnan():
+            if self.is_snan():
+                raise ValueError("Cannot convert signaling NaN to float")
+            s = "-nan" if self._sign else "nan"
+        else:
+            s = str(self)
+        return float(s)
 
     def __int__(self):
         """Converts self to an int, truncating if necessary."""
diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py
index a011b2f..6cc3327 100644
--- a/Lib/test/test_decimal.py
+++ b/Lib/test/test_decimal.py
@@ -1448,6 +1448,20 @@
         self.assertEqual(float(d1), 66)
         self.assertEqual(float(d2), 15.32)
 
+    def test_nan_to_float(self):
+        # Test conversions of decimal NANs to float.
+        # See http://bugs.python.org/issue15544
+        for s in ('nan', 'nan1234', '-nan', '-nan2468'):
+            f = float(Decimal(s))
+            self.assertTrue(math.isnan(f))
+            sign = math.copysign(1.0, f)
+            self.assertEqual(sign, -1.0 if s.startswith('-') else 1.0)
+
+    def test_snan_to_float(self):
+        for s in ('snan', '-snan', 'snan1357', '-snan1234'):
+            d = Decimal(s)
+            self.assertRaises(ValueError, float, d)
+
     def test_eval_round_trip(self):
 
         #with zero
