diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c
index 6dc76f0fa2d835e1e6072b37c2f240f8b085d1f9..ef2e8ca00b08736e0e7804c532dcf0a8b848f5e6 100644
--- a/src/backend/optimizer/plan/planner.c
+++ b/src/backend/optimizer/plan/planner.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.55 1999/06/06 17:38:10 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.56 1999/06/12 19:27:41 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -223,6 +223,10 @@ union_planner(Query *parse)
 			pfree(vpm);
 	}
 
+	/* query_planner returns NULL if it thinks plan is bogus */
+	if (! result_plan)
+		elog(ERROR, "union_planner: failed to create plan");
+
 	/*
 	 * If we have a GROUP BY clause, insert a group node (with the
 	 * appropriate sort node.)