diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c
index 52e7e6952732b522b8381f08b817623692596562..33d360c31d2459a162e4336cba710c62d6641755 100644
--- a/src/backend/commands/copy.c
+++ b/src/backend/commands/copy.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.293 2007/12/27 18:28:58 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.294 2007/12/30 14:46:52 adunstan Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -906,6 +906,11 @@ DoCopy(const CopyStmt *stmt, const char *queryString)
 				(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 				 errmsg("COPY quote must be a single ASCII character")));
 
+	if (cstate->csv_mode && cstate->delim[0] == cstate->quote[0])
+		ereport(ERROR,
+				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+				 errmsg("COPY delimiter and quote must be different")));
+
 	/* Check escape */
 	if (!cstate->csv_mode && cstate->escape != NULL)
 		ereport(ERROR,