diff --git a/src/lib-sieve/plugins/body/tst-body.c b/src/lib-sieve/plugins/body/tst-body.c
index 100c8ed25b7d2da2fc42400ba462db6de35e88c8..a775e29fc34026ad2ac9f8f8ce9b75214473dbc8 100644
--- a/src/lib-sieve/plugins/body/tst-body.c
+++ b/src/lib-sieve/plugins/body/tst-body.c
@@ -356,7 +356,7 @@ static int ext_body_operation_execute
 
 		default:
 			sieve_runtime_trace_error(renv, "unknown optional operand");
-			return FALSE;
+			return SIEVE_EXEC_BIN_CORRUPT;
 		}
 	} while ( opt_code != SIEVE_MATCH_OPT_END );