diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c
index 11425620e6b22974dc135fa23a3e8774a69e9b62..09d422f85c055259782c3f1eca4be836491ed4f3 100644
--- a/src/backend/commands/explain.c
+++ b/src/backend/commands/explain.c
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1994-5, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.104 2003/03/10 03:53:49 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.105 2003/04/03 22:35:48 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -193,6 +193,14 @@ ExplainOnePlan(QueryDesc *queryDesc, ExplainStmt *stmt,
 	ExplainState *es;
 	StringInfo	str;
 
+	/*
+	 * If we are not going to execute, suppress any SELECT INTO marker.
+	 * Without this, ExecutorStart will create the INTO target table,
+	 * which we don't want.
+	 */
+	if (!stmt->analyze)
+		queryDesc->parsetree->into = NULL;
+
 	gettimeofday(&starttime, NULL);
 
 	/* call ExecutorStart to prepare the plan for execution */