diff --git a/src/interfaces/ecpg/preproc/ecpg.trailer b/src/interfaces/ecpg/preproc/ecpg.trailer
index 342b7bc4d4c0b6719cc67eb4d1a4d054046e454b..6ef9f1ab9d80c7996a33bed1f1cf5659fd013086 100644
--- a/src/interfaces/ecpg/preproc/ecpg.trailer
+++ b/src/interfaces/ecpg/preproc/ecpg.trailer
@@ -1865,6 +1865,11 @@ Iresult:        Iconst			{ $$ = $1; }
                 | Iresult '%' Iresult   { $$ = cat_str(3, $1, mm_strdup("%"), $3); }
                 | ecpg_sconst		{ $$ = $1; }
                 | ColId                 { $$ = $1; }
+		| ColId '(' ColId ')'   { if (pg_strcasecmp($1, "sizeof") != 0)
+						mmerror(PARSE_ERROR, ET_ERROR, "operator not allowed in variable definition");
+					 else
+						$$ = cat_str(4,$1, mm_strdup("("), $3, mm_strdup(")"));
+					}
                 ;
 
 execute_rest: /* EMPTY */	{ $$ = EMPTY; }