diff --git a/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java b/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
index 45d3b58137..474360fab4 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
@@ -308,9 +308,15 @@ public class GenericRelationEditor extends RelationEditor implements CommandQueu
         key = Shortcut.getCopyKeyStroke();
         if (key != null) {
             // handle uncommon situation, that user has no keystroke assigned to copy
-            registerCopyPasteAction(new CopyMembersAction(actionAccess),
+            registerCopyPasteAction(new CopyMembersAction(actionAccess, true),
                     "COPY_MEMBERS", key, getRootPane(), memberTable, selectionTable);
         }
+        key = Shortcut.getCutKeyStroke();
+        if (key != null) {
+			// handle uncommon situation, that user has no keystroke assigned to cut
+			registerCopyPasteAction(new CopyMembersAction(actionAccess, false),
+					"CUT_MEMBERS", key, getRootPane(), memberTable, selectionTable);
+		}
         tagEditorPanel.setNextFocusComponent(memberTable);
         selectionTable.setFocusable(false);
         memberTableModel.setSelectedMembers(selectedMembers);
diff --git a/src/org/openstreetmap/josm/gui/dialogs/relation/actions/CopyMembersAction.java b/src/org/openstreetmap/josm/gui/dialogs/relation/actions/CopyMembersAction.java
index bdbce29b48..791c4ba7b9 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/relation/actions/CopyMembersAction.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/relation/actions/CopyMembersAction.java
@@ -14,13 +14,16 @@ import org.openstreetmap.josm.gui.datatransfer.RelationMemberTransferable;
  */
 public class CopyMembersAction extends AddFromSelectionAction {
     private static final long serialVersionUID = 1L;
+    private boolean keepCopiedMembers = true;
 
     /**
      * Constructs a new {@code CopyMembersAction}.
      * @param editorAccess An interface to access the relation editor contents.
+     * @param keepCopiedMembers if true, copied members are kept in the table; otherwise they are removed (cut)
      */
-    public CopyMembersAction(IRelationEditorActionAccess editorAccess) {
+    public CopyMembersAction(IRelationEditorActionAccess editorAccess, boolean keepCopiedMembers) {
         super(editorAccess);
+        this.keepCopiedMembers = keepCopiedMembers;
     }
 
     @Override
@@ -29,6 +32,9 @@ public class CopyMembersAction extends AddFromSelectionAction {
 
         if (!members.isEmpty()) {
             ClipboardUtils.copy(new RelationMemberTransferable(members));
+            if (!this.keepCopiedMembers) {
+                getMemberTableModel().remove(getMemberTableModel().getSelectedIndices());
+            }
         }
     }
 
diff --git a/test/unit/org/openstreetmap/josm/gui/dialogs/relation/actions/RelationEditorActionsTest.java b/test/unit/org/openstreetmap/josm/gui/dialogs/relation/actions/RelationEditorActionsTest.java
index ae6a7e687a..c915bee9cb 100644
--- a/test/unit/org/openstreetmap/josm/gui/dialogs/relation/actions/RelationEditorActionsTest.java
+++ b/test/unit/org/openstreetmap/josm/gui/dialogs/relation/actions/RelationEditorActionsTest.java
@@ -48,7 +48,8 @@ class RelationEditorActionsTest extends AbstractRelationEditorActionTest {
         new OKAction(relationEditorAccess).actionPerformed(null);
         new CancelAction(relationEditorAccess).actionPerformed(null);
 
-        new CopyMembersAction(relationEditorAccess).actionPerformed(null);
+        new CopyMembersAction(relationEditorAccess, true).actionPerformed(null);
+        new CopyMembersAction(relationEditorAccess, false).actionPerformed(null);
         new PasteMembersAction(relationEditorAccess).actionPerformed(null);
 
         new SelectAction(relationEditorAccess).actionPerformed(null);
