diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index c237789..aecc261 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -5081,16 +5081,17 @@
 	    }
 	    if ((flags & F_ALT) && (c == 'x' || c == 'X')) {
 		assert(pbuf[0] == '0');
-		assert(pbuf[1] == c);
-		if (fill != ' ') {
-		    *res++ = *pbuf++;
-		    *res++ = *pbuf++;
+		if (pbuf[1] == c) {
+			if (fill != ' ') {
+			    *res++ = *pbuf++;
+			    *res++ = *pbuf++;
+			}
+			rescnt -= 2;
+			width -= 2;
+			if (width < 0)
+			    width = 0;
+			len -= 2;
 		}
-		rescnt -= 2;
-		width -= 2;
-		if (width < 0)
-		    width = 0;
-		len -= 2;
 	    }
 	    if (width > len && !(flags & F_LJUST)) {
 		do {
@@ -5101,9 +5102,9 @@
 	    if (fill == ' ') {
 		if (sign)
 		    *res++ = sign;
-		if ((flags & F_ALT) && (c == 'x' || c == 'X')) {
+		if ((flags & F_ALT) && (c == 'x' || c == 'X') &&
+		    pbuf[1] == c) {
 		    assert(pbuf[0] == '0');
-		    assert(pbuf[1] == c);
 		    *res++ = *pbuf++;
 		    *res++ = *pbuf++;
 		}
