diff --git a/src/lib-sieve/plugins/enotify/mailto/uri-mailto.c b/src/lib-sieve/plugins/enotify/mailto/uri-mailto.c
index ce5eae6c745497a5566d198c1029fd6b70018551..35fcc92d2557963dc2b7e7885725606875993b64 100644
--- a/src/lib-sieve/plugins/enotify/mailto/uri-mailto.c
+++ b/src/lib-sieve/plugins/enotify/mailto/uri-mailto.c
@@ -261,8 +261,7 @@ static bool uri_mailto_parse_recipients
 		}
 	}
 
-	/* Skip '?' */
-	if ( *p != '\0' ) p++;
+	i_assert( *p == '\0' || *p == '?' );
 
 	/* Verify and add recipient */
 	if ( !uri_mailto_add_valid_recipient(parser, to, FALSE) )
@@ -529,6 +528,11 @@ static bool uri_mailto_parse_uri
 	if ( !uri_mailto_parse_recipients(parser, &p) )
 		return FALSE;
 
+	if ( *p == '\0' )
+		return TRUE;
+	i_assert( *p == '?' );
+	p++;
+
 	/* Extract hfield items */
 
 	while ( *p != '\0' ) {