diff --git a/doc/TODO b/doc/TODO
index 49561e76dec9877b05cfde2918a4623830df894d..06c1a1c8394a45bd184da4671bac678ba1c45058 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -55,7 +55,7 @@ ENHANCEMENTS
 
 URGENT
 
-* Add OUTER joins, left and right[outer](Thomas, Bruce)
+* -Add OUTER joins, left and right[outer](Tom, Thomas)
 * Allow long tuples by chaining or auto-storing outside db (TOAST)(Jan)
 * Fix memory leak for expressions[memory](Tom?) 
 
diff --git a/src/interfaces/ecpg/lib/execute.c b/src/interfaces/ecpg/lib/execute.c
index 6335af437e262b04129994750ee35938bdfdf62a..de27637ea7600f8ce57d2f1014e088ce20eb165b 100644
--- a/src/interfaces/ecpg/lib/execute.c
+++ b/src/interfaces/ecpg/lib/execute.c
@@ -377,6 +377,7 @@ ECPGexecute(struct statement * stmt)
 		char	   *tobeinserted = NULL;
 		char	   *p;
 		char		buff[20];
+		int		hostvarl = 0;
 
 		/*
 		 * Some special treatment is needed for records since we want
@@ -701,7 +702,7 @@ ECPGexecute(struct statement * stmt)
 			return false;
 
 		strcpy(newcopy, copiedquery);
-		if ((p = next_insert(newcopy)) == NULL)
+		if ((p = next_insert(newcopy + hostvarl)) == NULL)
 		{
 
 			/*
@@ -714,6 +715,7 @@ ECPGexecute(struct statement * stmt)
 		else
 		{
 			strcpy(p, tobeinserted);
+			hostvarl = strlen(newcopy);
 
 			/*
 			 * The strange thing in the second argument is the rest of the
@@ -993,7 +995,7 @@ ECPGdo(int lineno, const char *connection_name, char *query,...)
  *
  * Copyright (c) 2000, Christof Petig <christof.petig@wtal.de>
  *
- * $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/execute.c,v 1.11 2000/09/26 11:41:43 meskes Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/execute.c,v 1.12 2000/10/02 16:15:53 momjian Exp $
  */
 
 PGconn	   *ECPG_internal_get_connection(char *name);