diff --git a/src/language.yacc b/src/language.yacc
index a94e42feb0d3cbe249cf62ff63b69a9f7a64e3c2..d75016dc535cc8d2998fe8a6c6a1dee9f8395631 100644
--- a/src/language.yacc
+++ b/src/language.yacc
@@ -110,7 +110,7 @@
 /* This is the grammar definition of Pike. */
 
 #include "global.h"
-RCSID("$Id: language.yacc,v 1.217 2000/11/04 16:23:13 grubba Exp $");
+RCSID("$Id: language.yacc,v 1.218 2000/11/04 17:43:02 grubba Exp $");
 #ifdef HAVE_MEMORY_H
 #include <memory.h>
 #endif
@@ -1592,17 +1592,17 @@ local_constant_name: TOK_IDENTIFIER '=' safe_expr0
   ;
 
 local_constant_list: local_constant_name
-  | local_constant_list ',' local_constant_list
+  | local_constant_list ',' local_constant_name
   ;
 
-local_constant: TOK_CONSTANT local_constant_list ;
-  |  TOK_CONSTANT error ';' { yyerrok; }
-  |  TOK_CONSTANT error TOK_LEX_EOF
+local_constant: TOK_CONSTANT local_constant_list ';'
+  | TOK_CONSTANT error ';' { yyerrok; }
+  | TOK_CONSTANT error TOK_LEX_EOF
   {
     yyerror("Missing ';'.");
     yyerror("Unexpected end of file.");
   }
-  |  TOK_CONSTANT error '}' { yyerror("Missing ';'."); }
+  | TOK_CONSTANT error '}' { yyerror("Missing ';'."); }
   ;