Index: src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
===================================================================
--- src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 1769)
+++ src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(working copy)
@@ -442,15 +442,22 @@
                         s.add(osm);
                         s.addAll(((Way)osm).nodes);
                     }
-                    if(s.size() > max)
+                    if(max != -1 && s.size() > max)
                     {
-                        if(1 != new ExtendedDialog(Main.parent, tr("Move elements"),
-                                tr("You did move more than {0} elements. "
+                        int answer = new ExtendedDialog(Main.parent, tr("Move elements"),
+                                tr("You moved more than {0} elements. "
                                         + "Moving a large number of elements is often an error.\n"
                                         + "Really move them?", max),
-                                        new String[] {tr("Move them"), tr("Undo move")},
-                                        new String[] {"reorder.png", "cancel.png"}).getValue())
-                        {
+                                        new String[] {tr("Move them"), tr("Undo move"), tr("Don't show this warning again")},
+                                        new String[] {"reorder.png", "cancel.png", "dialogs/delete.png"}).getValue();
+                        if (answer == 3) {
+                            String msg = tr("You can re-enable this warning by deleting \"warn.move.maxelements\" in Advanced Preferences");
+                            JOptionPane.showMessageDialog(Main.parent, msg);
+                        } else {
+                            /* } else { because we also want to undo
+                             * it if someone closes the dialog (answer
+                             * == 0), not just if they press "Undo
+                             * move" (answer == 2) */
                             Main.main.undoRedo.undo();
                         }
                         break;
