diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l
index d5e91a9d48f52133a539e3dea370b9813bc599fe..7134e768d86601f064a3fdd89ca9ae17f7464f47 100644
--- a/src/backend/parser/scan.l
+++ b/src/backend/parser/scan.l
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.22 1997/09/24 17:48:25 thomas Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.23 1997/09/25 14:10:23 thomas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -183,8 +183,8 @@ other			.
 <xq>{xqliteral} {
 					if ((llen+yyleng-1) > (MAX_PARSE_BUFFER - 1))
 						elog(WARN,"quoted string parse buffer of %d chars exceeded",MAX_PARSE_BUFFER);
-					memcpy(literal+llen, yytext+1, yyleng);
-					llen += yyleng-1;
+					memcpy(literal+llen, yytext, yyleng+1);
+					llen += yyleng;
 				}
 
 <xm>{space}*	{ /* ignore */ }