diff --git a/src/sieve-tools/sieve-filter.c b/src/sieve-tools/sieve-filter.c
index 0c986a41bdf2fcfa09c5e9e878eefad9c7b1bf40..4a2b91a8b01d81414d3a68114b0383938f5ffd5a 100644
--- a/src/sieve-tools/sieve-filter.c
+++ b/src/sieve-tools/sieve-filter.c
@@ -583,6 +583,10 @@ int main(int argc, char **argv)
 	if ( move_box != NULL )
 		mailbox_free(&move_box);
 
+	/* Close the script binary */
+	if ( main_sbin != NULL )
+		sieve_close(&main_sbin);
+
 	/* Cleanup error handler */
 	sieve_error_handler_unref(&ehandler);