Index: trunk/src/org/openstreetmap/josm/actions/DownloadAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DownloadAction.java	(revision 7721)
+++ trunk/src/org/openstreetmap/josm/actions/DownloadAction.java	(revision 7722)
@@ -55,8 +55,5 @@
                 Main.worker.submit(new PostDownloadHandler(task, future));
             }
-
-            //TODO: This eventually needs to be a checkbox in the UI
-            //For now I'm adding it as a hidden feature since this is still a work in progress
-            if (Main.pref.getBoolean("osm.notes.enableDownload", false)) {
+            if (dialog.isDownloadNotes()) {
                 DownloadNotesTask task = new DownloadNotesTask();
                 Future<?> future = task.download(false, area, null);
Index: trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java	(revision 7721)
+++ trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java	(revision 7722)
@@ -78,4 +78,5 @@
     protected JCheckBox cbDownloadOsmData;
     protected JCheckBox cbDownloadGpxData;
+    protected JCheckBox cbDownloadNotes;
     /** the download action and button */
     private DownloadAction actDownload;
@@ -98,5 +99,14 @@
         cbDownloadGpxData = new JCheckBox(tr("Raw GPS data"));
         cbDownloadGpxData.setToolTipText(tr("Select to download GPS traces in the selected download area."));
-        pnl.add(cbDownloadGpxData,  GBC.eol().insets(5,5,1,5));
+        //TODO: uncomment this and remove logic below once notes are enabled
+        //pnl.add(cbDownloadGpxData,  GBC.std().insets(5,5,1,5));
+        cbDownloadNotes = new JCheckBox(tr("Notes"));
+        cbDownloadNotes.setToolTipText(tr("Select to download notes in the selected download area."));
+        if (Main.pref.getBoolean("osm.notes.enableDownload", false)) {
+            pnl.add(cbDownloadGpxData,  GBC.std().insets(5,5,1,5));
+            pnl.add(cbDownloadNotes, GBC.eol().insets(50, 5, 1, 5));
+        } else {
+            pnl.add(cbDownloadGpxData,  GBC.eol().insets(5,5,1,5));
+        }
 
         // hook for subclasses
@@ -174,4 +184,5 @@
         makeCheckBoxRespondToEnter(cbDownloadGpxData);
         makeCheckBoxRespondToEnter(cbDownloadOsmData);
+        makeCheckBoxRespondToEnter(cbDownloadNotes);
         makeCheckBoxRespondToEnter(cbNewLayer);
 
@@ -279,4 +290,13 @@
 
     /**
+     * Replies true if user selected to download notes
+     *
+     * @return true if user selected to download notes
+     */
+    public boolean isDownloadNotes() {
+        return cbDownloadNotes.isSelected();
+    }
+
+    /**
      * Replies true if the user requires to download into a new layer
      *
@@ -314,4 +334,5 @@
         Main.pref.put("download.osm", cbDownloadOsmData.isSelected());
         Main.pref.put("download.gps", cbDownloadGpxData.isSelected());
+        Main.pref.put("download.notes", cbDownloadNotes.isSelected());
         Main.pref.put("download.newlayer", cbNewLayer.isSelected());
         if (currentBounds != null) {
@@ -326,4 +347,9 @@
         cbDownloadOsmData.setSelected(Main.pref.getBoolean("download.osm", true));
         cbDownloadGpxData.setSelected(Main.pref.getBoolean("download.gps", false));
+        //TODO: This is to make sure notes are not downloaded if the Notes checkbox isn't being displayed.
+        //      Make it look like the ones above when notes are enabled
+        boolean downloadNotes = Main.pref.getBoolean("download.notes", false)
+                && Main.pref.getBoolean("osm.notes.enableDownload", false);
+        cbDownloadNotes.setSelected(downloadNotes);
         cbNewLayer.setSelected(Main.pref.getBoolean("download.newlayer", false));
         cbStartup.setSelected( isAutorunEnabled() );
@@ -458,4 +484,5 @@
                 return;
             }
+            //TODO: add notes into this logic once they are fully enabled in core
             if (!isDownloadOsmData() && !isDownloadGpxData()) {
                 JOptionPane.showMessageDialog(
