Fix the fix :-(
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index d40b908..ed5af57 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -818,6 +818,8 @@
 				res = getstringvalue(result) + reslen - rescnt;
 			}
 			if (sign) {
+				if (fill != ' ')
+					*res++ = sign;
 				rescnt--;
 				if (width > len)
 					width--;
@@ -828,7 +830,7 @@
 					*res++ = fill;
 				} while (--width > len);
 			}
-			if (sign)
+			if (sign && fill == ' ')
 				*res++ = sign;
 			memcpy(res, buf, len);
 			res += len;