diff --git a/src/lib-sieve/sieve-binary.c b/src/lib-sieve/sieve-binary.c
index 9c1a53a926298c2b8925553a634b4c4d7ad9d015..955c3c93ebca5e3a95641070bf8057427efeb71b 100644
--- a/src/lib-sieve/sieve-binary.c
+++ b/src/lib-sieve/sieve-binary.c
@@ -647,25 +647,28 @@ bool sieve_binary_save
 	fd = safe_mkstemp_hostpid(temp_path, save_mode, (uid_t)-1, (gid_t)-1);
 	if ( fd < 0 ) {
 		if ( errno == EACCES ) {
-			sieve_sys_error("failed to save binary: %s",
+			sieve_sys_error("failed to save binary temporary file: %s",
 				eacces_error_get_creating("open", str_c(temp_path)));
 		} else {
-			sieve_sys_error("failed to save binary: open(%s) failed: %m", 
-				str_c(temp_path));
+			sieve_sys_error("failed to save binary temporary file: "
+				"open(%s) failed: %m", str_c(temp_path));
 		}
 		return FALSE;
 	}
 
+	/* Save binary */
 	stream = o_stream_create_fd(fd, 0, FALSE);
 	result = _sieve_binary_save(sbin, stream);
 	o_stream_destroy(&stream);
- 
-	if (close(fd) < 0)
+
+	/* Close saved binary */ 
+	if ( close(fd) < 0 ) {
 		sieve_sys_error("failed to close saved binary temporary file: "
 			"close(fd=%s) failed: %m", str_c(temp_path));
+	}
 
 	/* Replace any original binary atomically */
-	if (result && (rename(str_c(temp_path), path) < 0)) {
+	if ( result && (rename(str_c(temp_path), path) < 0) ) {
 		if ( errno == EACCES ) {
 			sieve_sys_error("failed to replace existing binary: %s", 
 				eacces_error_get_creating("rename", path));