diff --git a/src/backend/utils/adt/like_match.c b/src/backend/utils/adt/like_match.c
index b67ba020cf33f392cdc0bb2df613683b3ecdacc7..be3b9515dfe11c13142200d2bc0a1deddf4d7f2b 100644
--- a/src/backend/utils/adt/like_match.c
+++ b/src/backend/utils/adt/like_match.c
@@ -19,7 +19,7 @@
  * Copyright (c) 1996-2010, PostgreSQL Global Development Group
  *
  * IDENTIFICATION
- *	$PostgreSQL: pgsql/src/backend/utils/adt/like_match.c,v 1.28 2010/05/28 17:35:23 tgl Exp $
+ *	$PostgreSQL: pgsql/src/backend/utils/adt/like_match.c,v 1.29 2010/05/28 18:18:19 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -158,7 +158,9 @@ MatchText(char *t, int tlen, char *p, int plen)
 			if (*p == '\\')
 			{
 				if (plen < 2)
-					return LIKE_FALSE; /* XXX should throw error */
+					ereport(ERROR,
+							(errcode(ERRCODE_INVALID_ESCAPE_SEQUENCE),
+							 errmsg("LIKE pattern must not end with escape character")));
 				firstpat = GETCHAR(p[1]);
 			}
 			else