diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index 29f41b9e4632f65f2a5aa02aa05c09f1acdd7e0e..8196449cf455b9fc6792aebf96784c9bf8929051 100644
--- a/src/interfaces/ecpg/ChangeLog
+++ b/src/interfaces/ecpg/ChangeLog
@@ -2035,5 +2035,10 @@ Mo Jun 26 11:05:25 CEST 2006
 
 	- Added some more coverity report patches send in by Joachim Wieland
 	  <joe@mcknight.de>.
+
+Mo Jun 26 16:08:23 CEST 2006
+
+	- Added missing braces to prevent a segfault after usage of an
+	  undeclared cursor.
 	- Set ecpg library version to 5.2.
 	- Set ecpg version to 4.2.1.
diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y
index 8e1ad2e81d61d6e96e5f3873a6c2b42e197e4dd0..a005e71f2851135650fe1e47273390edfccd905d 100644
--- a/src/interfaces/ecpg/preproc/preproc.y
+++ b/src/interfaces/ecpg/preproc/preproc.y
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.324 2006/06/06 11:31:55 meskes Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.325 2006/06/26 14:12:02 meskes Exp $ */
 
 /* Copyright comment */
 %{
@@ -292,6 +292,7 @@ add_additional_variables(char *name, bool insert)
 		mmerror(PARSE_ERROR, ET_ERROR, "trying to access an undeclared cursor %s\n", name);
 		return NULL;
 	}
+
 	if (insert)
 	{
 		/* add all those input variables that were given earlier
@@ -837,9 +838,11 @@ stmt:  AlterDatabaseStmt		{ output_statement($1, 0, connection); }
 			struct cursor *ptr;
 
 			if ((ptr = add_additional_variables($1, true)) != NULL)
+			{
 				output_statement(mm_strdup(ptr->command), 0,
 								 ptr->connection ? mm_strdup(ptr->connection) : NULL);
-			ptr->opened = true;
+				ptr->opened = true;
+			}
 		}
 		| ECPGPrepare
 		{