diff --git a/ChangeLog b/ChangeLog
index 083974e3..97ce4706 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-02  Joerg Wunsch <j@uriah.heep.sax.de>
+
+	* config.h: change YYSTYPE to be a single word, to work around
+	a bug in Solaris' yacc.
+
 2005-11-01  Joerg Wunsch <j@uriah.heep.sax.de>
 
 	Make avrdude Solaris-compatible.
diff --git a/config.h b/config.h
index 6436434b..7bdb054f 100644
--- a/config.h
+++ b/config.h
@@ -41,6 +41,7 @@ typedef struct token_t {
   int primary;
   VALUE value;
 } TOKEN;
+typedef struct token_t *token_p;
 
 
 extern FILE       * yyin;
@@ -58,7 +59,7 @@ extern char         default_serial[];
 
 
 #if !defined(HAS_YYSTYPE)
-#define YYSTYPE struct token_t *
+#define YYSTYPE token_p
 #endif
 extern YYSTYPE yylval;