diff --git a/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java b/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
index 1bd2c8a..5707381 100644
--- a/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
+++ b/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
@@ -148,7 +148,7 @@ public class TagChecker extends Test
      * Constructor
      */
     public TagChecker() {
-        super(tr("Properties checker :"),
+        super(tr("Properties checker:"),
                 tr("This plugin checks for errors in property keys and values."));
     }
 
@@ -213,19 +213,23 @@ public class TagChecker extends Test
                 BufferedReader reader = new BufferedReader(r);
 
                 String okValue = null;
-                boolean tagcheckerfile = false;
-                boolean ignorefile = false;
+                boolean tagcheckerFile = false;
+                boolean ignoreFile = false;
                 String line;
-                while ((line = reader.readLine()) != null && (tagcheckerfile || line.length() != 0)) {
+                while ((line = reader.readLine()) != null && (tagcheckerFile || line.length() != 0)) {
+                    System.out.println(line + tagcheckerFile + ignoreFile);
                     if (line.startsWith("#")) {
                         if (line.startsWith("# JOSM TagChecker")) {
-                            tagcheckerfile = true;
-                        }
-                        if (line.startsWith("# JOSM IgnoreTags")) {
-                            ignorefile = true;
+                            tagcheckerFile = true;
+                            ignoreFile = false;
+                        } else if (line.startsWith("# JOSM IgnoreTags")) {
+                            ignoreFile = true;
+                            tagcheckerFile = false;
+                        } else if (!tagcheckerFile && !ignoreFile) {
+                            System.err.println(tr("Missing/invalid header line (either ''{0}'' or ''{1}'') in line {2}", "# JOSM TagChecker", "# JOSM IgnoreTags", line));
                         }
                         continue;
-                    } else if (ignorefile) {
+                    } else if (ignoreFile) {
                         line = line.trim();
                         if (line.length() < 4) {
                             continue;
@@ -248,7 +252,7 @@ public class TagChecker extends Test
                             ignoreDataKeyPair.add(tmp);
                         }
                         continue;
-                    } else if (tagcheckerfile) {
+                    } else if (tagcheckerFile) {
                         if (line.length() > 0) {
                             CheckerData d = new CheckerData();
                             String err = d.getData(line);
@@ -263,6 +267,8 @@ public class TagChecker extends Test
                         okValue = line.substring(1);
                     } else if (line.charAt(0) == '-' && okValue != null) {
                         spellCheckKeyData.put(line.substring(1), okValue);
+                    } else if (!tagcheckerFile && !ignoreFile) {
+                        System.err.println(tr("Missing/invalid header line (either ''{0}'' or ''{1}'') in line {2}", "# JOSM TagChecker", "# JOSM IgnoreTags", line));
                     } else {
                         System.err.println(tr("Invalid spellcheck line: {0}", line));
                     }
