diff --git a/src/macro/MacroBison.yy b/src/macro/MacroBison.yy
index c650b9472a2b827337406f1abde15b595cfcd2b1..43f8354af240c261451248247a1953e01bed98a2 100644
--- a/src/macro/MacroBison.yy
+++ b/src/macro/MacroBison.yy
@@ -159,7 +159,7 @@ expr : INTEGER
        }
      | NAME LPAREN array_expr RPAREN
        { TYPERR_CATCH($$ = driver.eval_string_function(*$1, $3), @$); delete $1; }
-     | LENGTH LPAREN array_expr RPAREN
+     | LENGTH LPAREN expr RPAREN
        { TYPERR_CATCH($$ = $3->length(), @$); }
      | LPAREN expr RPAREN
        { $$ = $2; }