Index: /trunk/src/org/openstreetmap/josm/actions/HatchAreaOutsideDownloadAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/HatchAreaOutsideDownloadAction.java	(revision 14388)
+++ /trunk/src/org/openstreetmap/josm/actions/HatchAreaOutsideDownloadAction.java	(revision 14388)
@@ -0,0 +1,51 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.actions;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.event.ActionEvent;
+
+import org.openstreetmap.josm.data.preferences.BooleanProperty;
+import org.openstreetmap.josm.gui.MainApplication;
+
+/**
+ * This class toggles hatched background rendering of areas outside of the downloaded areas.
+ *
+ * @since 14388
+ */
+public class HatchAreaOutsideDownloadAction extends PreferenceToggleAction {
+
+    private static final BooleanProperty PROP = new BooleanProperty("mappaint.hatch-outside-download-area", true);
+
+    /**
+     * Constructs a new {@link HatchAreaOutsideDownloadAction}.
+     */
+    public HatchAreaOutsideDownloadAction() {
+        super(tr("Hatch area outside download"),
+                tr("Enable/disable hatched background rendering of areas outside of the downloaded areas."),
+                PROP.getKey(), PROP.getDefaultValue()
+        );
+    }
+
+    @Override
+    protected void updateEnabledState() {
+        setEnabled(MainApplication.getLayerManager().getEditLayer() != null);
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        super.actionPerformed(e);
+        if (MainApplication.isDisplayingMapView()) {
+            MainApplication.getMap().mapView.repaint();
+        }
+    }
+
+    /**
+     * Determines whether hatched background rendering is enabled
+     *
+     * @return whether hatched background rendering is enabled
+     */
+    public static boolean isHatchEnabled() {
+        return PROP.get();
+    }
+}
Index: /trunk/src/org/openstreetmap/josm/gui/MainMenu.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 14387)
+++ /trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 14388)
@@ -53,4 +53,5 @@
 import org.openstreetmap.josm.actions.FullscreenToggleAction;
 import org.openstreetmap.josm.actions.GpxExportAction;
+import org.openstreetmap.josm.actions.HatchAreaOutsideDownloadAction;
 import org.openstreetmap.josm.actions.HelpAction;
 import org.openstreetmap.josm.actions.HistoryInfoAction;
@@ -221,4 +222,6 @@
     /** View / Wireframe View */
     public final WireframeToggleAction wireFrameToggleAction = new WireframeToggleAction();
+    /** View / Hatch area outside download */
+    public final HatchAreaOutsideDownloadAction hatchAreaOutsideDownloadAction = new HatchAreaOutsideDownloadAction();
     /** View / Advanced info */
     public final InfoAction info = new InfoAction();
@@ -651,4 +654,5 @@
      * @since 10340
      */
+    // CHECKSTYLE.OFF: ExecutableStatementCountCheck
     public void initialize() {
         moreToolsMenu.setVisible(false);
@@ -715,4 +719,7 @@
         wireframe.setAccelerator(wireFrameToggleAction.getShortcut().getKeyStroke());
         wireFrameToggleAction.addButtonModel(wireframe.getModel());
+        final JCheckBoxMenuItem hatchAreaOutsideDownloadMenuItem = hatchAreaOutsideDownloadAction.getCheckbox();
+        viewMenu.add(hatchAreaOutsideDownloadMenuItem);
+        ExpertToggleAction.addVisibilitySwitcher(hatchAreaOutsideDownloadMenuItem);
 
         viewMenu.add(new MapPaintMenu());
@@ -838,4 +845,5 @@
         new PresetsMenuEnabler(presetsMenu);
     }
+    // CHECKSTYLE.ON: ExecutableStatementCountCheck
 
     /**
Index: /trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 14387)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 14388)
@@ -44,4 +44,5 @@
 
 import org.openstreetmap.josm.actions.ExpertToggleAction;
+import org.openstreetmap.josm.actions.HatchAreaOutsideDownloadAction;
 import org.openstreetmap.josm.actions.RenameLayerAction;
 import org.openstreetmap.josm.actions.ToggleUploadDiscouragedLayerAction;
@@ -499,5 +500,7 @@
             }
             try {
-                g.fill(a);
+                if (HatchAreaOutsideDownloadAction.isHatchEnabled()) {
+                    g.fill(a);
+                }
             } catch (ArrayIndexOutOfBoundsException e) {
                 // #16686 - AIOOBE in java.awt.TexturePaintContext$Int.setRaster
