Index: /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/ApplyAllGuessesAction.java
===================================================================
--- /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/ApplyAllGuessesAction.java	(revision 23921)
+++ /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/ApplyAllGuessesAction.java	(revision 23922)
@@ -17,4 +17,5 @@
 
 import java.awt.event.ActionEvent;
+import java.util.ArrayList;
 import java.util.List;
 
@@ -26,9 +27,11 @@
 
 	public ApplyAllGuessesAction() {
-		super(tr("Apply all guesses"), "applyguesses_24", "Turns all guesses into the corresponding tag values.");
+		//super(tr("Apply all guesses"), "applyguesses_24", "Turns all guesses into the corresponding tag values.");
+		super(tr("Apply all guesses"), null, "Turns all guesses into the corresponding tag values.");
 	}
 
 	@Override
 	public void addressEditActionPerformed(AddressEditSelectionEvent ev) {
+		if (ev == null || ev.getSelectedUnresolvedAddresses() == null) return;
 		// fix SELECTED items only
 		List<AddressNode> addrToFix = ev.getSelectedUnresolvedAddresses();
@@ -53,5 +56,6 @@
 
 	private void applyGuesses(List<AddressNode> addrToFix) {
-		for (AddressNode aNode : addrToFix) {
+		List<AddressNode> addrToFixShadow = new ArrayList<AddressNode>(addrToFix);
+		for (AddressNode aNode : addrToFixShadow) {
 			aNode.applyAllGuesses();
 		}
