diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 85d838c..b0b525a 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -8588,12 +8588,8 @@
 	return -1;
     if (prec < 0)
 	prec = 6;
-    if ((type == 'f' || type == 'F') && (fabs(x) / 1e25) >= 1e25) {
-        if (type == 'f')
-            type = 'g';
-        else
-            type = 'G';
-    }
+    if (type == 'f' && (fabs(x) / 1e25) >= 1e25)
+	type = 'g';
     /* Worst case length calc to ensure no buffer overrun:
 
        'g' formats:
@@ -8612,8 +8608,7 @@
     */
     if (((type == 'g' || type == 'G') && 
           buflen <= (size_t)10 + (size_t)prec) ||
-	((type == 'f' || type == 'F')  &&
-          buflen <= (size_t)53 + (size_t)prec)) {
+	(type == 'f' && buflen <= (size_t)53 + (size_t)prec)) {
 	PyErr_SetString(PyExc_OverflowError,
 			"formatted float is too long (precision too large?)");
 	return -1;
@@ -9096,6 +9091,8 @@
 	    case 'F':
 	    case 'g':
 	    case 'G':
+		if (c == 'F')
+			c = 'f';
 		pbuf = formatbuf;
 		len = formatfloat(pbuf, sizeof(formatbuf)/sizeof(Py_UNICODE),
 			flags, prec, c, v);
