diff --git a/src/lib-sieve/sieve.c b/src/lib-sieve/sieve.c
index 4985723bf9cd02ecf0e8f785fe2c611be00b81fb..c67c51a0bafad944038d2e2a9f0169f29cf1492c 100644
--- a/src/lib-sieve/sieve.c
+++ b/src/lib-sieve/sieve.c
@@ -438,8 +438,9 @@ int sieve_test
 	}
 	
 	/* Cleanup */
-	sieve_result_unref(&result);
-	
+	if ( result != NULL )
+		sieve_result_unref(&result);
+
 	return ret;
 }
 
@@ -476,9 +477,10 @@ int sieve_execute
 			if ( keep != NULL ) *keep = TRUE;
 		}
 	}
-	
+
 	/* Cleanup */
-	sieve_result_unref(&result);
+	if ( result != NULL )
+		sieve_result_unref(&result);
 
 	return ret;
 }