diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index 52b148951e86753fa91f9c2c3012911694ae1229..780cea362f77c07d55a61644ab46faf1dee6f30a 100644
--- a/src/interfaces/ecpg/ChangeLog
+++ b/src/interfaces/ecpg/ChangeLog
@@ -599,5 +599,9 @@ Thu Jun 10 21:09:12 CEST 1999
 Wed Jun 16 20:21:42 CEST 1999
 
 	- Fixed another typo in preproc.y.
+
+Thu Jun 24 18:06:43 CEST 1999
+
+	- Fixed C comment bug that caused ecpg to not accept quoted quotes.
 	- Set library version to 3.0.0
 	- Set ecpg version to 2.6.0
diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l
index d942a65b3ea304bf1bf1a0f8c28837f7529114c7..071dc4731d0fd731a2dd2098b0ce1cab98a2696b 100644
--- a/src/interfaces/ecpg/preproc/pgc.l
+++ b/src/interfaces/ecpg/preproc/pgc.l
@@ -119,7 +119,9 @@ xqcat			{quote}{space}*\n{space}*{quote}
 dquote			\"
 xdstart			{dquote}
 xdstop			{dquote}
+xdcqdq			\\\"
 xdinside		[^"]*
+xdcinside		({xdinside}|{xdcqdq})*
 
 /* Comments
  * Ignored by the scanner and parser.
@@ -287,7 +289,7 @@ cppline		{space}*#.*(\\{space}*\n)*\n*
 					yylval.str = mm_strdup(literal);
 					return CSTRING;
 				}
-<xdc>{xdinside}	{
+<xdc>{xdcinside}	{
 					if ((llen+yyleng) > (MAX_PARSE_BUFFER - 1))
 						yyerror("ERROR: quoted string parse buffer exceeded");
 					memcpy(literal+llen, yytext, yyleng+1);