diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index f7e652d..55ea8d2 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -186,6 +186,7 @@
             def __coerce__(self, other):
                 raise ValueError
         self.assertRaises(ValueError, coerce, 42, BadNumber())
+        self.assertRaises(OverflowError, coerce, 0.5, int("12345" * 1000))
 
     def test_compile(self):
         compile('print 1\n', '', 'exec')
diff --git a/Lib/test/test_long.py b/Lib/test/test_long.py
index 9cab2de..9eb063c 100644
--- a/Lib/test/test_long.py
+++ b/Lib/test/test_long.py
@@ -371,9 +371,10 @@
     for x in -2.0, -1.0, 0.0, 1.0, 2.0:
         verify(float(long(x)) == x)
 
+    shuge = '12345' * 1000
     huge = 1L << 30000
     mhuge = -huge
-    namespace = {'huge': huge, 'mhuge': mhuge, 'math': math}
+    namespace = {'huge': huge, 'mhuge': mhuge, 'shuge': shuge, 'math': math}
     for test in ["float(huge)", "float(mhuge)",
                  "complex(huge)", "complex(mhuge)",
                  "complex(huge, 1)", "complex(mhuge, 1)",
@@ -386,7 +387,8 @@
                  "1. ** huge", "huge ** 1.", "1. ** mhuge", "mhuge ** 1.",
                  "math.sin(huge)", "math.sin(mhuge)",
                  "math.sqrt(huge)", "math.sqrt(mhuge)", # should do better
-                 "math.floor(huge)", "math.floor(mhuge)"]:
+                 "math.floor(huge)", "math.floor(mhuge)",
+                 "float(shuge) == int(shuge)"]:
 
         try:
             eval(test, namespace)
diff --git a/Misc/NEWS b/Misc/NEWS
index 971cfe0..028c21b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -23,6 +23,10 @@
 - Fixed crash when printing a subclass of str and __str__ returned self.
   See SF bug #667147.
 
+- Fixed an invalid RuntimeWarning and an undetected error when trying
+  to convert a long integer into a float which couldn't fit.  
+  See SF bug #676155.
+
 Extension modules
 -----------------
 
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index cd28349..09406e4 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -629,7 +629,10 @@
 		return 0;
 	}
 	else if (PyLong_Check(*pw)) {
-		*pw = PyFloat_FromDouble(PyLong_AsDouble(*pw));
+		double x = PyLong_AsDouble(*pw);
+		if (x == -1.0 && PyErr_Occurred())
+			return -1;
+		*pw = PyFloat_FromDouble(x);
 		Py_INCREF(*pv);
 		return 0;
 	}
