Index: /trunk/src/org/openstreetmap/josm/actions/upload/ValidateUploadHook.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/upload/ValidateUploadHook.java	(revision 6635)
+++ /trunk/src/org/openstreetmap/josm/actions/upload/ValidateUploadHook.java	(revision 6636)
@@ -60,5 +60,5 @@
             test.visit(selection);
             test.endTest();
-            if (Main.pref.getBoolean(ValidatorPreference.PREF_OTHER, false) &&
+            if (ValidatorPreference.PREF_OTHER.get() &&
                 Main.pref.getBoolean(ValidatorPreference.PREF_OTHER_UPLOAD, false)) {
                 errors.addAll(test.getErrors());
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(revision 6635)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(revision 6636)
@@ -40,4 +40,5 @@
 import org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.MapCSSParser;
 import org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.ParseException;
+import org.openstreetmap.josm.gui.preferences.validator.ValidatorPreference;
 import org.openstreetmap.josm.gui.widgets.EditableList;
 import org.openstreetmap.josm.io.MirroredInputStream;
@@ -284,5 +285,5 @@
          */
         String getMessage() {
-            return errors.keySet().iterator().next();
+            return errors.isEmpty() ? null : errors.keySet().iterator().next();
         }
 
@@ -313,5 +314,5 @@
 
         Severity getSeverity() {
-            return errors.values().iterator().next();
+            return errors.isEmpty() ? null : errors.values().iterator().next();
         }
 
@@ -364,8 +365,11 @@
      * Obtains all {@link TestError}s for the {@link OsmPrimitive} {@code p}.
      */
-    public Collection<TestError> getErrorsForPrimitive(OsmPrimitive p) {
+    public Collection<TestError> getErrorsForPrimitive(OsmPrimitive p, boolean includeOtherSeverity) {
         final ArrayList<TestError> r = new ArrayList<TestError>();
         final Environment env = new Environment(p, new MultiCascade(), Environment.DEFAULT_LAYER, null);
         for (TagCheck check : checks) {
+            if (Severity.OTHER.equals(check.getSeverity()) && !includeOtherSeverity) {
+                continue;
+            }
             final Selector selector = check.whichSelectorMatchesEnvironment(env);
             if (selector != null) {
@@ -388,5 +392,5 @@
     @Override
     public void check(OsmPrimitive p) {
-        errors.addAll(getErrorsForPrimitive(p));
+        errors.addAll(getErrorsForPrimitive(p, ValidatorPreference.PREF_OTHER.get()));
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/validator/ValidatorTreePanel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/validator/ValidatorTreePanel.java	(revision 6635)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/validator/ValidatorTreePanel.java	(revision 6636)
@@ -161,5 +161,5 @@
         }
 
-        boolean other = Main.pref.getBoolean(ValidatorPreference.PREF_OTHER, false);
+        final Boolean other = ValidatorPreference.PREF_OTHER.get();
         for (TestError e : errors) {
             if (e.getIgnored()) {
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/validator/ValidatorPreference.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/validator/ValidatorPreference.java	(revision 6635)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/validator/ValidatorPreference.java	(revision 6636)
@@ -16,4 +16,5 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.preferences.BooleanProperty;
 import org.openstreetmap.josm.data.validation.OsmValidator;
 import org.openstreetmap.josm.data.validation.Test;
@@ -64,6 +65,6 @@
     public static final String PREF_OTHER_UPLOAD = PREFIX + ".otherUpload";
 
-    /** The preferences key for ignored severity other */
-    public static final String PREF_OTHER = PREFIX + ".other";
+    /** The preferences for ignored severity other */
+    public static final BooleanProperty PREF_OTHER = new BooleanProperty(PREFIX + ".other", false);
 
     /**
@@ -95,5 +96,5 @@
         testPanel.add(prefUseLayer, GBC.eol());
 
-        prefOther = new JCheckBox(tr("Show informational level."), Main.pref.getBoolean(PREF_OTHER, false));
+        prefOther = new JCheckBox(tr("Show informational level."), PREF_OTHER.get());
         prefOther.setToolTipText(tr("Show the informational tests."));
         testPanel.add(prefOther, GBC.eol());
@@ -143,5 +144,5 @@
         Main.pref.putCollection(PREF_SKIP_TESTS_BEFORE_UPLOAD, testsBeforeUpload);
         Main.pref.put(PREF_USE_IGNORE, prefUseIgnore.isSelected());
-        Main.pref.put(PREF_OTHER, prefOther.isSelected());
+        PREF_OTHER.put(prefOther.isSelected());
         Main.pref.put(PREF_OTHER_UPLOAD, prefOtherUpload.isSelected());
         Main.pref.put(PREF_LAYER, prefUseLayer.isSelected());
Index: /trunk/test/unit/org/openstreetmap/josm/data/validation/tests/MapCSSTagCheckerTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/data/validation/tests/MapCSSTagCheckerTest.java	(revision 6635)
+++ /trunk/test/unit/org/openstreetmap/josm/data/validation/tests/MapCSSTagCheckerTest.java	(revision 6636)
@@ -74,5 +74,5 @@
             for (final Map.Entry<String, Boolean> i : check.assertions.entrySet()) {
                 final OsmPrimitive p = TestUtils.createPrimitive(i.getKey());
-                final boolean isError = Utils.exists(c.getErrorsForPrimitive(p), new Predicate<TestError>() {
+                final boolean isError = Utils.exists(c.getErrorsForPrimitive(p, true), new Predicate<TestError>() {
                     @Override
                     public boolean evaluate(TestError e) {
