diff --git a/scripts/cstyle.pl b/scripts/cstyle.pl
index 680ce97666b0..5483c3fe7c8a 100755
--- a/scripts/cstyle.pl
+++ b/scripts/cstyle.pl
@@ -572,7 +572,9 @@ ($$)
 		err("comma or semicolon followed by non-blank");
 	}
 	# allow "for" statements to have empty "while" clauses
-	if (/\s[,;]/ && !/^[\t]+;$/ && !/^\s*for \([^;]*; ;[^;]*\)/) {
+	# allow macro invocations to have empty parameters
+	if (/\s[,;]/ && !/^[\t]+;$/ &&
+	    !($in_macro_call || /^\s*for \([^;]*; ;[^;]*\)/)) {
 		err("comma or semicolon preceded by blank");
 	}
 	if (/^\s*(&&|\|\|)/) {