diff --git a/src/lib-sieve/cmd-if.c b/src/lib-sieve/cmd-if.c
index d8cabad18beb6af037dcfbf7527b1d86bed9acaa..19fea10e7b12ad107760d6c602f172010b0424ab 100644
--- a/src/lib-sieve/cmd-if.c
+++ b/src/lib-sieve/cmd-if.c
@@ -138,7 +138,10 @@ static bool cmd_if_validate
 static bool cmd_elsif_validate
 (struct sieve_validator *valdtr, struct sieve_command *cmd)
 {
-	struct sieve_command *prev = sieve_command_prev(cmd);
+	struct sieve_command *prev;
+
+	i_assert(cmd != NULL);
+	prev = sieve_command_prev(cmd);
 
 	/* Check valid command placement */
 	if ( prev == NULL ||