diff --git a/src/bin/psql/input.c b/src/bin/psql/input.c
index 1b02f9324ad36e72377afa0592ff8b1ff7a3c22f..e2e61bfc3bee2e8702f9cb7fce71b8bc6842942e 100644
--- a/src/bin/psql/input.c
+++ b/src/bin/psql/input.c
@@ -218,7 +218,7 @@ gets_fromFile(FILE *source)
 		}
 
 		/* EOL? */
-		if (buffer->data[buffer->len - 1] == '\n')
+		if (buffer->len > 0 && buffer->data[buffer->len - 1] == '\n')
 		{
 			buffer->data[buffer->len - 1] = '\0';
 			return pg_strdup(buffer->data);