diff --git a/src/lib-managesieve/managesieve-parser.c b/src/lib-managesieve/managesieve-parser.c
index 8641515a8ab363495914924d52505535b63a8c2b..cb5b65e67f4f1a6b1bae3572e725940d959c79a3 100644
--- a/src/lib-managesieve/managesieve-parser.c
+++ b/src/lib-managesieve/managesieve-parser.c
@@ -70,8 +70,7 @@ managesieve_parser_create(struct istream *input, size_t max_line_size)
 
 void managesieve_parser_destroy(struct managesieve_parser **parser)
 {
-	if ((*parser)->str_stream != NULL)
-		i_stream_unref(&(*parser)->str_stream);
+	i_stream_unref(&(*parser)->str_stream);
 
 	pool_unref(&(*parser)->pool);
 	i_free(*parser);
@@ -99,9 +98,7 @@ void managesieve_parser_reset(struct managesieve_parser *parser)
 	parser->literal_skip_crlf = FALSE;
 	parser->eol = FALSE;
 
-	if ( parser->str_stream != NULL )
-		i_stream_unref(&parser->str_stream);
-	parser->str_stream = NULL;
+	i_stream_unref(&parser->str_stream);
 }
 
 const char *managesieve_parser_get_error
diff --git a/src/lib-sieve-tool/mail-raw.c b/src/lib-sieve-tool/mail-raw.c
index 09a212f5c6de1b561fe98db2c9e906fa5fe3e942..4f4ebed0c8044063bfff0b4c7230192b33250daa 100644
--- a/src/lib-sieve-tool/mail-raw.c
+++ b/src/lib-sieve-tool/mail-raw.c
@@ -220,9 +220,7 @@ struct mail_raw *mail_raw_open_file
 	}
 
 	mailr = mail_raw_create(ruser, input, path, sender, mtime);
-
-	if ( input != NULL )
-		i_stream_unref(&input);
+	i_stream_unref(&input);
 
 	return mailr;
 }
diff --git a/src/lib-sieve/sieve-script.c b/src/lib-sieve/sieve-script.c
index 1a222a0803f04ce82a97d455323de87bb1d900d6..ea43cd79ea129d7f5e1bc7b5bd827ea00326f961 100644
--- a/src/lib-sieve/sieve-script.c
+++ b/src/lib-sieve/sieve-script.c
@@ -147,8 +147,7 @@ void sieve_script_unref(struct sieve_script **_script)
 	if ( --script->refcount != 0 )
 		return;
 
-	if ( script->stream != NULL )
-		i_stream_unref(&script->stream);
+	i_stream_unref(&script->stream);
 
 	if ( script->v.destroy != NULL )
 		script->v.destroy(script);
diff --git a/src/lib-sieve/storage/ldap/sieve-ldap-db.c b/src/lib-sieve/storage/ldap/sieve-ldap-db.c
index a046aa5808080e1d6056b3a5cf3f83f848e17729..9f9bc092b226b9f85ff12c7f0e972c8454567689 100644
--- a/src/lib-sieve/storage/ldap/sieve-ldap-db.c
+++ b/src/lib-sieve/storage/ldap/sieve-ldap-db.c
@@ -1339,8 +1339,7 @@ sieve_ldap_read_script_callback(struct ldap_connection *conn,
 		} else {
 			sieve_storage_sys_error(storage, "db: "
 				"Search returned more than one entry for Sieve script DN");
-			if (srequest->result != NULL)
-				i_stream_unref(&srequest->result);
+			i_stream_unref(&srequest->result);
 		}
 
 	} else {
diff --git a/src/lib-sieve/util/edit-mail.c b/src/lib-sieve/util/edit-mail.c
index f01eaf110b0cb97732b6e63eb4dba9f427d0b31e..7254cab86c57c189dc4d9cdcff1fd44e855f83c1 100644
--- a/src/lib-sieve/util/edit-mail.c
+++ b/src/lib-sieve/util/edit-mail.c
@@ -350,10 +350,7 @@ void edit_mail_reset(struct edit_mail *edmail)
 	struct _header_index *header_idx;
 	struct _header_field_index *field_idx;
 
-	if ( edmail->stream != NULL ) {
-		i_stream_unref(&edmail->stream);
-		edmail->stream = NULL;
-	}
+	i_stream_unref(&edmail->stream);
 
 	field_idx = edmail->header_fields_head;
 	while ( field_idx != NULL ) {
@@ -387,11 +384,7 @@ void edit_mail_unwrap(struct edit_mail **edmail)
 		return;
 
 	edit_mail_reset(*edmail);
-
-	if ( (*edmail)->wrapped_stream != NULL ) {
-		i_stream_unref(&(*edmail)->wrapped_stream);
-		(*edmail)->wrapped_stream = NULL;
-	}
+	i_stream_unref(&(*edmail)->wrapped_stream);
 
 	parent = (*edmail)->parent;