Index: trunk/src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java	(revision 721)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java	(revision 724)
@@ -129,5 +129,5 @@
 			return;
 		}
-		String msg = "<html>"+trn("This will change {0} object.", "This will change {0} objects.", sel.size(), sel.size())+"<br><br>("+tr("An empty value deletes the key.", key)+")</html>";
+		String msg = "<html>"+trn("This will change up to {0} object.", "This will change up to {0} objects.", sel.size(), sel.size())+"<br><br>("+tr("An empty value deletes the key.", key)+")</html>";
 		
 		JPanel panel = new JPanel(new BorderLayout());
@@ -219,11 +219,17 @@
 				HashMap<String, Vector<OsmPrimitive>> map=new HashMap<String, Vector<OsmPrimitive>>();
 				for (OsmPrimitive osm: sel) {
-					String val=osm.keys.get(key);
-					if (map.containsKey(val)) {
-						map.get(val).add(osm);
-					} else {
-						Vector<OsmPrimitive> v = new Vector<OsmPrimitive>();
-						v.add(osm);
-						map.put(val, v);
+					if(osm.keys != null)
+					{
+						String val=osm.keys.get(key);
+						if(val != null)
+						{
+							if (map.containsKey(val)) {
+								map.get(val).add(osm);
+							} else {
+								Vector<OsmPrimitive> v = new 	Vector<OsmPrimitive>();
+								v.add(osm);
+								map.put(val, v);
+							}
+						}
 					}
 				}
