diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index 0d03a3b..d40b908 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -643,7 +643,7 @@
 			int width = -1;
 			int prec = -1;
 			int size = 0;
-			int c;
+			int c = '\0';
 			int fill;
 			object *v;
 			char *buf;
@@ -788,15 +788,13 @@
 				buf = formatchar(v);
 				if (buf == NULL)
 					goto error;
-				len = strlen(buf);
+				len = 1;
 				break;
 			default:
 				err_setstr(ValueError,
 					   "unsupported format character");
 				goto error;
 			}
-			/* XXX There's a bug somewhere here so that
-			   XXX '%4d'%-1 yields '-  1' ... */
 			if (sign) {
 				if (*buf == '-' || *buf == '+') {
 					sign = *buf++;
@@ -820,7 +818,6 @@
 				res = getstringvalue(result) + reslen - rescnt;
 			}
 			if (sign) {
-				*res++ = sign;
 				rescnt--;
 				if (width > len)
 					width--;
@@ -831,6 +828,8 @@
 					*res++ = fill;
 				} while (--width > len);
 			}
+			if (sign)
+				*res++ = sign;
 			memcpy(res, buf, len);
 			res += len;
 			rescnt -= len;
