Index: /trunk/src/org/openstreetmap/josm/actions/AboutAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/AboutAction.java	(revision 1050)
+++ /trunk/src/org/openstreetmap/josm/actions/AboutAction.java	(revision 1051)
@@ -68,5 +68,5 @@
 
 	public AboutAction() {
-		super(tr("About"), "about", tr("Display the about screen."), ShortCut.registerShortCut("system:about", tr("About..."), KeyEvent.VK_F1, ShortCut.GROUP_DIRECT, ShortCut.SHIFT), true);
+		super(tr("About"), "about", tr("Display the about screen."), ShortCut.registerShortCut("system:about", tr("About..."), KeyEvent.VK_F1, ShortCut.GROUP_DIRECT, ShortCut.SHIFT_DEFAULT), true);
 	}
 
Index: /trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 1050)
+++ /trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 1051)
@@ -36,5 +36,5 @@
 	public CreateCircleAction() {
 		super(tr("Create Circle"), "createcircle", tr("Create a circle from three selected nodes."),
-		ShortCut.registerShortCut("tools:createcircle", tr("Tool: Create circle"), KeyEvent.VK_O, ShortCut.GROUP_EDIT, ShortCut.SHIFT), true);
+		ShortCut.registerShortCut("tools:createcircle", tr("Tool: Create circle"), KeyEvent.VK_O, ShortCut.GROUP_EDIT, ShortCut.SHIFT_DEFAULT), true);
 	}
 
Index: /trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java	(revision 1050)
+++ /trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java	(revision 1051)
@@ -27,5 +27,5 @@
 		super(tr("Paste Tags"), "pastetags",
 			tr("Apply tags of contents of paste buffer to all selected items."),
-			ShortCut.registerShortCut("system:pastestyle", tr("Edit: Paste tags"), KeyEvent.VK_V, ShortCut.GROUP_MENU, ShortCut.SHIFT_CTRL), true);
+			ShortCut.registerShortCut("system:pastestyle", tr("Edit: Paste tags"), KeyEvent.VK_V, ShortCut.GROUP_MENU, ShortCut.SHIFT_DEFAULT), true);
 		DataSet.selListeners.add(this);
 		copyAction.addListener(this);
Index: /trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java	(revision 1050)
+++ /trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java	(revision 1051)
@@ -23,5 +23,5 @@
 	public SaveAsAction(Layer layer) {
 		super(tr("Save as ..."), "save_as", tr("Save the current data to a new file."),
-		ShortCut.registerShortCut("system:saveas", tr("File: Save as..."), KeyEvent.VK_S, ShortCut.GROUP_MENU, ShortCut.SHIFT_CTRL), layer);
+		ShortCut.registerShortCut("system:saveas", tr("File: Save as..."), KeyEvent.VK_S, ShortCut.GROUP_MENU, ShortCut.SHIFT_DEFAULT), layer);
 	}
 
Index: /trunk/src/org/openstreetmap/josm/actions/UnselectAllAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/UnselectAllAction.java	(revision 1050)
+++ /trunk/src/org/openstreetmap/josm/actions/UnselectAllAction.java	(revision 1051)
@@ -22,5 +22,5 @@
 		Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
 		ShortCut.registerShortCut("edit:unselectall2", tr("Edit: Unselect all (2)"),
-		KeyEvent.VK_A, ShortCut.GROUP_MENU, ShortCut.SHIFT_CTRL).getKeyStroke(),
+		KeyEvent.VK_A, ShortCut.GROUP_MENU, ShortCut.SHIFT_DEFAULT).getKeyStroke(),
 		tr("Unselect All"));
 
Index: /trunk/src/org/openstreetmap/josm/tools/ShortCut.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/ShortCut.java	(revision 1050)
+++ /trunk/src/org/openstreetmap/josm/tools/ShortCut.java	(revision 1051)
@@ -29,7 +29,8 @@
  */
 public class ShortCut {
-	public static final int SHIFT = KeyEvent.SHIFT_DOWN_MASK;
-	public static final int CTRL = KeyEvent.CTRL_DOWN_MASK;
-	public static final int SHIFT_CTRL = KeyEvent.SHIFT_DOWN_MASK|KeyEvent.CTRL_DOWN_MASK;
+//	public static final int SHIFT = KeyEvent.SHIFT_DOWN_MASK;
+//	public static final int CTRL = KeyEvent.CTRL_DOWN_MASK;
+//	public static final int SHIFT_CTRL = KeyEvent.SHIFT_DOWN_MASK|KeyEvent.CTRL_DOWN_MASK;
+	public static final int SHIFT_DEFAULT = 1;
 	private String shortText;        // the unique ID of the shortcut
 	private String longText;         // a human readable description that will be shown in the preferences
@@ -309,4 +310,5 @@
 		int i = 0;
 		for (ShortCut sc : ShortCuts.values()) {
+// TODO: Remove sc.getAssignedUser() when we fixed all internal conflicts
 			if (!sc.getAutomatic() && !sc.getReset() && sc.getAssignedUser()) {
 				Main.pref.put("shortcut.shortcut."+i, sc.asPrefString());
@@ -386,5 +388,8 @@
 		Integer defaultModifier = Groups.get(requestedGroup + GROUPS_DEFAULT);
 		if(modifier != null) {
-			defaultModifier = modifier;
+			if(modifier == SHIFT_DEFAULT)
+				defaultModifier |= KeyEvent.SHIFT_MASK;
+			else
+				defaultModifier = modifier;
 		}
 		else if (defaultModifier == null) { // garbage in, no shortcurt out
