Index: src/org/openstreetmap/josm/actions/ResetValidationIgnoreList.java
===================================================================
--- src/org/openstreetmap/josm/actions/ResetValidationIgnoreList.java	(nonexistent)
+++ src/org/openstreetmap/josm/actions/ResetValidationIgnoreList.java	(working copy)
@@ -0,0 +1,124 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.actions;
+
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
+import java.util.List;
+
+import org.openstreetmap.josm.data.validation.OsmValidator;
+import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.gui.MainApplication;
+import org.openstreetmap.josm.gui.bugreport.DebugTextDisplay;
+import org.openstreetmap.josm.gui.util.GuiHelper;
+import org.openstreetmap.josm.spi.preferences.Config;
+import org.openstreetmap.josm.tools.Shortcut;
+
+/**
+ * Resets the ignored errors list
+ *
+ * @author Taylor Smock
+ */
+public class ResetValidationIgnoreList extends JosmAction {
+
+    /**
+     * Constructs a new {@code ResetValidationIgnoreList}
+     */
+    public ResetValidationIgnoreList() {
+        super(
+                tr("Reset ignored errors list"),
+                "fix",
+                tr("Reset the ignored errors list"),
+                Shortcut.registerShortcut("help:resetignorrederrors", tr("Help: {0}",
+                        tr("Reset ignored errors")), KeyEvent.CHAR_UNDEFINED, Shortcut.NONE), false);
+
+        setHelpId(ht("/Action/ResetValidationIgnoreList"));
+        putValue("toolbar", "help/resetvalidationignorelist");
+        MainApplication.getToolbar().register(this);
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        StringBuilder text = new StringBuilder();
+        File ignoredErrors = new File(Config.getDirs().getUserDataDirectory(true), "validator");
+        ignoredErrors = new File(ignoredErrors.getAbsolutePath() + File.separator + "ignorederrors");
+        try {
+            List<String> lines = Files.readAllLines(Paths.get(ignoredErrors.getAbsolutePath()), StandardCharsets.UTF_8);
+            for (String line : lines) {
+                text.append(line);
+                text.append(System.lineSeparator());
+            }
+        } catch (IOException e1) {
+            text.append(tr("There was no ignored errors file"));
+        }
+
+        DebugTextDisplay ta = new DebugTextDisplay(text.toString());
+        ExtendedDialog ed = new ExtendedDialog(MainApplication.getMainFrame(),
+                tr("Ignored Errors"),
+                tr("Reset"), tr("Restore"), tr("Close"));
+        ed.setButtonIcons("fix", "copy", "cancel");
+        ed.setContent(ta, false);
+        ed.setMinimumSize(new Dimension(380, 200));
+        ed.setPreferredSize(new Dimension(700, MainApplication.getMainFrame().getHeight()-50));
+        switch (ed.showDialog().getValue()) {
+            case 1: resetErrorList(); break;
+            case 2: restoreErrorList(); break;
+            default:
+        }
+    GuiHelper.destroyComponents(ed, false);
+    }
+
+    /**
+     * Reset the error list by deleting ignorederrors
+     */
+    public void resetErrorList() {
+        OsmValidator.saveIgnoredErrors();
+        File ignoredErrors = new File(Config.getDirs().getUserDataDirectory(true), "validator");
+        ignoredErrors = new File(ignoredErrors.getAbsolutePath() + File.separator + "ignorederrors");
+        if (!ignoredErrors.isFile()) return;
+        File ignoredErrorsBak = new File(ignoredErrors.getAbsolutePath() + ".bak");
+        try {
+            Files.move(ignoredErrors.toPath(), ignoredErrorsBak.toPath(), StandardCopyOption.REPLACE_EXISTING);
+        } catch (IOException e) {
+            System.out.println(tr("We couldn''t save ignorederrors"));
+            ignoredErrors.delete();
+        }
+        OsmValidator.initialize();
+    }
+
+    /**
+     * Restore the error list by copying ignorederrors.bak to ignorederrors
+     */
+    public void restoreErrorList() {
+        OsmValidator.saveIgnoredErrors();
+        File ignoredErrors = new File(Config.getDirs().getUserDataDirectory(true), "validator");
+        ignoredErrors = new File(ignoredErrors.getAbsolutePath() + File.separator + "ignorederrors");
+        if (!ignoredErrors.isFile()) return;
+        File ignoredErrorsBak = new File(ignoredErrors.getAbsolutePath() + ".bak");
+        File ignoredErrorsBak2 = new File(ignoredErrorsBak.getAbsolutePath() + "2");
+        try {
+            Files.move(ignoredErrors.toPath(),
+                    ignoredErrorsBak2.toPath(),
+                    StandardCopyOption.REPLACE_EXISTING);
+            if (ignoredErrorsBak.isFile()) {
+                Files.move(ignoredErrorsBak.toPath(),
+                        ignoredErrors.toPath(), StandardCopyOption.REPLACE_EXISTING);
+            }
+            Files.move(ignoredErrorsBak2.toPath(),
+                    ignoredErrorsBak.toPath(), StandardCopyOption.REPLACE_EXISTING);
+        } catch (IOException e) {
+            System.out.println(tr("We were unable to restore ignorederrors"));
+            e.printStackTrace();
+        }
+        OsmValidator.initialize();
+    }
+}
Index: src/org/openstreetmap/josm/gui/MainMenu.java
===================================================================
--- src/org/openstreetmap/josm/gui/MainMenu.java	(revision 14748)
+++ src/org/openstreetmap/josm/gui/MainMenu.java	(working copy)
@@ -82,6 +82,7 @@
 import org.openstreetmap.josm.actions.RedoAction;
 import org.openstreetmap.josm.actions.ReorderImageryLayersAction;
 import org.openstreetmap.josm.actions.ReportBugAction;
+import org.openstreetmap.josm.actions.ResetValidationIgnoreList;
 import org.openstreetmap.josm.actions.RestartAction;
 import org.openstreetmap.josm.actions.ReverseWayAction;
 import org.openstreetmap.josm.actions.SaveAction;
@@ -317,6 +318,8 @@
     public final AboutAction about = new AboutAction();
     /** Help / Show Status Report */
     public final ShowStatusReportAction statusreport = new ShowStatusReportAction();
+    /** Help / Reset validation ignore list */
+    public final ResetValidationIgnoreList resetignore = new ResetValidationIgnoreList();
     /** Help / Report bug */
     public final ReportBugAction reportbug = new ReportBugAction();

@@ -834,6 +837,7 @@
         add(helpMenu, new MenuItemSearchDialog.Action());
         helpMenu.addSeparator();
         add(helpMenu, statusreport);
+        add(helpMenu, resetignore);
         add(helpMenu, reportbug);
         helpMenu.addSeparator();

