diff --git a/src/lib-sieve/plugins/editheader/ext-editheader-common.c b/src/lib-sieve/plugins/editheader/ext-editheader-common.c
index 50983c78a8ed47939e12170c5c5f8f8d0af280cd..89fb180b311f30d4c9971bdd84f4c0a1a14391eb 100644
--- a/src/lib-sieve/plugins/editheader/ext-editheader-common.c
+++ b/src/lib-sieve/plugins/editheader/ext-editheader-common.c
@@ -70,6 +70,7 @@ ext_editheader_config_headers(struct sieve_instance *svinst,
 					  "setting %s contains invalid header field name "
 					  "`%s' (ignored)",
 					  setting, *headers);
+				headers++;
 				continue;
 			}
 
diff --git a/tests/extensions/editheader/protected.svtest b/tests/extensions/editheader/protected.svtest
index 398fc9cb120f773eea80bde6e4264c0426c39284..148a9c8f33a9051223c534574c43bdec99cc335e 100644
--- a/tests/extensions/editheader/protected.svtest
+++ b/tests/extensions/editheader/protected.svtest
@@ -1,7 +1,7 @@
 require "vnd.dovecot.testsuite";
 
 require "variables";
-
+require "encoded-character";
 require "editheader";
 
 set "message" text:
@@ -148,3 +148,26 @@ id 3jhl22khhf23f; Mon, 24 Aug 2015 04:11:54 -0600;
 		test_fail "autosubmitted header was not added";
 	}
 }
+
+/*
+ * TEST - Bad header configuration
+ */
+
+test_config_set "sieve_editheader_protected" "${unicode:1F4A9} delivery-date";
+test_config_reload :extension "editheader";
+
+test_set "message" "${message}";
+test "Bad header configuration" {
+	if not exists "delivery-date" {
+		test_fail "delivery-date header did not exist in the first place";
+	}
+
+	deleteheader "delivery-date";
+
+	if not exists "delivery-date" {
+		test_fail "protected delivery-date header was deleted";
+	}
+}
+
+test_config_set "sieve_editheader_protected" "";
+test_config_reload :extension "editheader";