diff --git a/src/lib-sieve/plugins/variables/ext-variables-name.c b/src/lib-sieve/plugins/variables/ext-variables-name.c
index 7a23e6c983c57d03f51a481b0564de6a22bc1f4c..d712252524dceeafb4a23a3f2c6bc8640e208668 100644
--- a/src/lib-sieve/plugins/variables/ext-variables-name.c
+++ b/src/lib-sieve/plugins/variables/ext-variables-name.c
@@ -23,8 +23,8 @@ int ext_variable_name_parse
 		struct ext_variable_name *cur_element;
 		string_t *cur_ident;
 
-		/* Acquire current position in the substitution structure or allocate 
-		 * a new one if this substitution consists of more elements than before.
+		/* Acquire current position in the array of name elements or allocate a new 
+		 * one if this substitution consists of more elements than before.
 		 */
 		if ( nspace_used < (int) array_count(vname) ) {
 			cur_element = array_idx_modifiable
@@ -37,6 +37,8 @@ int ext_variable_name_parse
 			cur_ident = cur_element->identifier = t_str_new(32);
 		}
 
+		/* Parse element */
+
 		/* Identifier */
 		if ( *p == '_' || i_isalpha(*p) ) {
 			cur_element->num_variable = -1;
@@ -72,9 +74,11 @@ int ext_variable_name_parse
 			*str = p;
 			return -1;
 		}
-		
+
+		/* Advance to next name element */		
 		nspace_used++;
 		
+		/* Check whether next name element is present */
 		if ( p < strend && *p == '.' ) 
 			p++;
 		else
diff --git a/src/lib-sieve/plugins/variables/ext-variables-name.h b/src/lib-sieve/plugins/variables/ext-variables-name.h
index ab5e34636e8293e3baee901ae90729a426680550..74994138232ca55fde8574d6e50a9a6890948763 100644
--- a/src/lib-sieve/plugins/variables/ext-variables-name.h
+++ b/src/lib-sieve/plugins/variables/ext-variables-name.h
@@ -10,9 +10,9 @@
  * The variable strings are preprocessed into an AST list consisting of variable 
  * substitutions and constant parts of the string. The variables to which
  * the substitutions link are looked up and their index in their scope storage
- * is what is added to the list and eventually emitted as byte code. So in byte
- * code a variable string will look as a series of substrings interrupted by
- * integer operands that refer to variables. During execution the strings and 
+ * is what is added to the list and eventually emitted as byte code. So, in 
+ * bytecode a variable string will look as a series of substrings interrupted by
+ * integer operands that refer to variables. During execution, the strings and 
  * the looked-up variables are concatenated to obtain the desired result. The 
  * the variable references are simple indexes into an array of variables, so
  * looking these up during execution is a trivial process.