diff --git a/tests/plugins/extprograms/bin/big b/tests/plugins/extprograms/bin/big
new file mode 100755
index 0000000000000000000000000000000000000000..ce1df51f179d8e5dfb012d0ae95bce0e4f5a6590
--- /dev/null
+++ b/tests/plugins/extprograms/bin/big
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+N="0123456701234567012345670123456701234567012345670123456701234567"
+N="$N$N$N$N$N$N$N$N$N$N$N$N$N$N$N$N"
+echo -n "$N$N"
+
+exit 0
+
diff --git a/tests/plugins/extprograms/execute/execute.svtest b/tests/plugins/extprograms/execute/execute.svtest
index e326f3bfef51440165afe6d28a4b6ad201371bff..f16af11d422dcefdc53b67d0c0781f6263341eb4 100644
--- a/tests/plugins/extprograms/execute/execute.svtest
+++ b/tests/plugins/extprograms/execute/execute.svtest
@@ -156,3 +156,22 @@ test "Execute - LF" {
 		test_fail "wrong string returned: '${out}'";
 	}
 }
+
+set "D" "0123456701234567012345670123456701234567012345670123456701234567";
+set "D" "${D}${D}${D}${D}${D}${D}${D}${D}${D}${D}${D}${D}${D}${D}${D}${D}";
+set "data" "${D}${D}";
+
+test_config_set "sieve_execute_input_eol" "crlf";
+test_config_reload :extension "vnd.dovecot.execute";
+test_result_reset;
+set "out" "";
+
+test "Execute - big" {
+	execute
+		:output "out"
+		"big";
+
+	if not string "${out}" "${data}" {
+		test_fail "wrong string returned: '${out}'";
+	}
+}