Index: src/org/openstreetmap/josm/actions/relation/DownloadRelationAction.java
===================================================================
--- src/org/openstreetmap/josm/actions/relation/DownloadRelationAction.java	(nonexistent)
+++ src/org/openstreetmap/josm/actions/relation/DownloadRelationAction.java	(working copy)
@@ -0,0 +1,42 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.actions.relation;
+
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.event.ActionEvent;
+import java.util.ArrayList;
+
+import org.openstreetmap.josm.gui.MainApplication;
+import org.openstreetmap.josm.gui.io.DownloadPrimitivesTask;
+import org.openstreetmap.josm.tools.ImageProvider;
+
+/**
+ * The action for downloading relations with members
+ * @since xxx
+ */
+public class DownloadRelationAction extends AbstractRelationAction {
+
+    /**
+     * Constructs a new <code>DownloadMembersAction</code>.
+     */
+    public DownloadRelationAction() {
+        putValue(SHORT_DESCRIPTION, tr("Download relation with members"));
+        putValue(NAME, tr("Download with members"));
+        new ImageProvider("dialogs", "downloadincomplete").getResource().attachImageIcon(this, true);
+        setHelpId(ht("/Dialog/RelationList#DownloadRelation"));
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        if (!isEnabled() || relations.isEmpty() || !MainApplication.isDisplayingMapView())
+            return;
+        MainApplication.worker.submit(new DownloadPrimitivesTask(MainApplication.getLayerManager().getEditLayer(),
+                new ArrayList<>(relations), true));
+    }
+
+    @Override
+    protected void updateEnabledState() {
+        setEnabled(canDownload());
+    }
+}
Index: src/org/openstreetmap/josm/gui/dialogs/relation/RelationPopupMenus.java
===================================================================
--- src/org/openstreetmap/josm/gui/dialogs/relation/RelationPopupMenus.java	(revision 17482)
+++ src/org/openstreetmap/josm/gui/dialogs/relation/RelationPopupMenus.java	(working copy)
@@ -8,6 +8,7 @@
 
 import org.openstreetmap.josm.actions.relation.DeleteRelationsAction;
 import org.openstreetmap.josm.actions.relation.DownloadMembersAction;
+import org.openstreetmap.josm.actions.relation.DownloadRelationAction;
 import org.openstreetmap.josm.actions.relation.DownloadSelectedIncompleteMembersAction;
 import org.openstreetmap.josm.actions.relation.DuplicateRelationAction;
 import org.openstreetmap.josm.actions.relation.EditRelationAction;
@@ -57,6 +58,7 @@
         menu.addAction(new SelectMembersAction(true));
         menu.addSeparator();
 
+        menu.addAction(new DownloadRelationAction());
         menu.addAction(new DownloadMembersAction());
         menu.addAction(new DownloadSelectedIncompleteMembersAction());
 
