diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py
index bd0a3a4..e34d55b 100644
--- a/Lib/test/pickletester.py
+++ b/Lib/test/pickletester.py
@@ -535,6 +535,16 @@
             got = self.loads(p)
             self.assertEqual(n, got)
 
+    def test_float(self):
+        test_values = [0.0, 4.94e-324, 1e-310, 7e-308, 6.626e-34, 0.1, 0.5,
+                       3.14, 263.44582062374053, 6.022e23, 1e30]
+        test_values = test_values + [-x for x in test_values]
+        for proto in protocols:
+            for value in test_values:
+                pickle = self.dumps(value, proto)
+                got = self.loads(pickle)
+                self.assertEqual(value, got)
+
     @run_with_locale('LC_ALL', 'de_DE', 'fr_FR')
     def test_float_format(self):
         # make sure that floats are formatted locale independent
diff --git a/Misc/NEWS b/Misc/NEWS
index 0a65732..0b5f801 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -145,6 +145,9 @@
 Library
 -------
 
+- Issue #1672332: fix unpickling of subnormal floats, which was
+  producing a ValueError on some platforms.
+
 - Issue #3881: Help Tcl to load even when started through the
   unreadable local symlink to "Program Files" on Vista.
 
diff --git a/Modules/cPickle.c b/Modules/cPickle.c
index 7f836c3..fb13ba1 100644
--- a/Modules/cPickle.c
+++ b/Modules/cPickle.c
@@ -3465,7 +3465,8 @@
 	errno = 0;
 	d = PyOS_ascii_strtod(s, &endptr);
 
-	if (errno || (endptr[0] != '\n') || (endptr[1] != '\0')) {
+	if ((errno == ERANGE && !(fabs(d) <= 1.0)) ||
+	    (endptr[0] != '\n') || (endptr[1] != '\0')) {
 		PyErr_SetString(PyExc_ValueError,
 				"could not convert string to float");
 		goto finally;
