diff --git a/src/backend/utils/adt/oracle_compat.c b/src/backend/utils/adt/oracle_compat.c
index 27216ab3d805d9f3966152bb858026e7cc2ef8c8..e39c83aa26f17318a9f8d93b2e8e7063f9968a4d 100644
--- a/src/backend/utils/adt/oracle_compat.c
+++ b/src/backend/utils/adt/oracle_compat.c
@@ -1,7 +1,7 @@
 /*
  *	Edmund Mergl <E.Mergl@bawue.de>
  *
- *	$Id: oracle_compat.c,v 1.10 1997/09/08 21:48:39 momjian Exp $
+ *	$Id: oracle_compat.c,v 1.11 1998/01/13 03:49:51 scrappy Exp $
  *
  */
 
@@ -512,7 +512,7 @@ substr(text *string, int4 m, int4 n)
 
 	if ((string == (text *) NULL) ||
 		(m <= 0) || (n <= 0) ||
-		((len = VARSIZE(string) - VARHDRSZ - m) <= 0))
+		((len = VARSIZE(string) - VARHDRSZ - m + 1) <= 0))
 		return string;
 
 	len = len + 1 < n ? len + 1 : n;