Index: trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(revision 3557)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(revision 3558)
@@ -25,4 +25,5 @@
 import java.util.EnumSet;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.LinkedList;
@@ -51,4 +52,5 @@
 import org.openstreetmap.josm.data.osm.OsmUtils;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Tag;
 import org.openstreetmap.josm.data.osm.Way;
@@ -56,4 +58,5 @@
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.gui.QuadStateCheckBox;
+import org.openstreetmap.josm.gui.dialogs.relation.RelationEditor;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
@@ -947,15 +950,17 @@
             List<Command> cmds = new ArrayList<Command>(2);
             final Relation r = new Relation();
-            cmds.add(new AddCommand(r));
-            Command cmd = createCommand(Collections.<OsmPrimitive>singletonList(r), getChangedTags());
-            if (cmd != null) {
-                cmds.add(cmd);
-            }
-            Main.main.undoRedo.add(new SequenceCommand(tr("Add relation"), cmds));
+            final Collection<RelationMember> members = new HashSet<RelationMember>();
+            for(Tag t : getChangedTags()) {
+              r.put(t.getKey(), t.getValue());
+            }
+            for(OsmPrimitive osm : sel) {
+              RelationMember rm = new RelationMember("", osm);
+              r.addMember(rm);
+              members.add(rm);
+            }
             SwingUtilities.invokeLater(new Runnable() {
                 @Override
                 public void run() {
-                    // Relation list dialog has to be updated first for selectRelation to work
-                    Main.map.relationListDialog.selectRelation(r);
+                    RelationEditor.getEditor(Main.main.getEditLayer(), r, members).setVisible(true);
                 }
             });
