diff --git a/src/backend/executor/execTuples.c b/src/backend/executor/execTuples.c
index c5a75a0..4091986 100644
--- a/src/backend/executor/execTuples.c
+++ b/src/backend/executor/execTuples.c
@@ -1339,19 +1339,18 @@ do_text_output_multiline(TupOutputState *tstate, char *text)
 		if (eol)
 		{
 			len = eol - text;
-
-			eol++;
+			values[0] = PointerGetDatum(cstring_to_text_with_len(text, len));
+			text = eol + 1;
 		}
 		else
 		{
 			len = strlen(text);
-			eol += len;
+			values[0] = PointerGetDatum(cstring_to_text_with_len(text, len));
+			text += len;
 		}
 
-		values[0] = PointerGetDatum(cstring_to_text_with_len(text, len));
 		do_tup_output(tstate, values, isnull);
 		pfree(DatumGetPointer(values[0]));
-		text = eol;
 	}
 }
 
