Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/OpeningHourTest.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/OpeningHourTest.java	(revision 16831)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/OpeningHourTest.java	(revision 16832)
@@ -12,4 +12,7 @@
 import java.util.Objects;
 
+import javax.swing.JCheckBox;
+import javax.swing.JPanel;
+
 import ch.poole.openinghoursparser.OpeningHoursParser;
 import ch.poole.openinghoursparser.ParseException;
@@ -18,7 +21,10 @@
 import org.openstreetmap.josm.command.ChangePropertyCommand;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.preferences.BooleanProperty;
+import org.openstreetmap.josm.data.preferences.sources.ValidatorPrefHelper;
 import org.openstreetmap.josm.data.validation.Severity;
 import org.openstreetmap.josm.data.validation.Test.TagTest;
 import org.openstreetmap.josm.data.validation.TestError;
+import org.openstreetmap.josm.tools.GBC;
 
 /**
@@ -32,4 +38,7 @@
 
     private static final Collection<String> KEYS_TO_CHECK = Arrays.asList("opening_hours", "collection_times", "service_times");
+    private static final BooleanProperty PREF_STRICT_MODE =
+            new BooleanProperty(ValidatorPrefHelper.PREFIX + "." + OpeningHourTest.class.getSimpleName() + "." + "strict", false);
+    private final JCheckBox checkboxStrictMode = new JCheckBox(tr("Enable strict mode."));
 
     /**
@@ -90,7 +99,8 @@
         String prettifiedValue = null;
         try {
-            final List<Rule> rules = new OpeningHoursParser(new StringReader(value)).rules(false);
+            final boolean strict = PREF_STRICT_MODE.get();
+            final List<Rule> rules = new OpeningHoursParser(new StringReader(value)).rules(strict);
             prettifiedValue = Util.rulesToOpeningHoursString(rules);
-            if (!Objects.equals(value, prettifiedValue)) {
+            if (!Objects.equals(value, prettifiedValue) && !strict) {
                 // parse again in strict mode for detailed message
                 new OpeningHoursParser(new StringReader(value)).rules(true);
@@ -121,3 +131,17 @@
         }
     }
+
+    @Override
+    public void addGui(JPanel testPanel) {
+        super.addGui(testPanel);
+        checkboxStrictMode.setSelected(PREF_STRICT_MODE.get());
+        testPanel.add(checkboxStrictMode, GBC.eol().insets(20, 0, 0, 0));
+    }
+
+    @Override
+    public boolean ok() {
+        super.ok();
+        PREF_STRICT_MODE.put(checkboxStrictMode.isSelected());
+        return false;
+    }
 }
