diff --git a/asm/preproc.c b/asm/preproc.c
index 41a7c6fb..3f4607f8 100644
--- a/asm/preproc.c
+++ b/asm/preproc.c
@@ -5379,8 +5379,10 @@ static SMacro *expand_one_smacro(Token ***tpp)
             Token *endt = tline;
 
             tline = t;
-            while (!cond_comma && t && t != endt)
+            while (!cond_comma && t && t != endt) {
                 cond_comma = t->type != TOK_WHITESPACE;
+                t = t->next;
+            }
         }
 
         if (tnext) {
