Index: trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 5725)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 5726)
@@ -170,4 +170,5 @@
     private final DataSetListenerAdapter dataChangedAdapter = new DataSetListenerAdapter(this);
     private final HelpAction helpAction = new HelpAction();
+    private final PasteValueAction pasteValueAction = new PasteValueAction();
     private final CopyValueAction copyValueAction = new CopyValueAction();
     private final CopyKeyValueAction copyKeyValueAction = new CopyKeyValueAction();
@@ -325,4 +326,5 @@
         // setting up the properties table
         propertyMenu = new JPopupMenu();
+        propertyMenu.add(pasteValueAction);
         propertyMenu.add(copyValueAction);
         propertyMenu.add(copyKeyValueAction);
@@ -1126,4 +1128,23 @@
         }
     }
+    
+    class PasteValueAction extends AbstractAction {
+        public PasteValueAction() {
+            putValue(NAME, tr("Paste Value"));
+            putValue(SHORT_DESCRIPTION, tr("Paste the value of the selected tag from clipboard"));
+        }
+
+        @Override
+        public void actionPerformed(ActionEvent ae) {
+            if (propertyTable.getSelectedRowCount() != 1)
+                return;
+            String key = propertyData.getValueAt(propertyTable.getSelectedRow(), 0).toString();
+            Collection<OsmPrimitive> sel = Main.main.getCurrentDataSet().getSelected();
+            String value = Utils.getClipboardContent().trim();
+            if (sel.isEmpty())
+                return;
+            Main.main.undoRedo.add(new ChangePropertyCommand(sel, key, value));
+        }
+    }
 
     abstract class AbstractCopyAction extends AbstractAction {
