diff --git a/src/xpdev/xpprintf.c b/src/xpdev/xpprintf.c
index dce15253090f9085ea552f2f507bbece899a7344..2685d223293972febfa3ea73ecfa9e8cd74b39d4 100644
--- a/src/xpdev/xpprintf.c
+++ b/src/xpdev/xpprintf.c
@@ -816,6 +816,7 @@ char *xp_asprintf_next(char *format, int type, ...)
 					}
 					break;
 			}
+			type=correct_type;
 		}
 	}