Index: applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixAddressesPlugin.java
===================================================================
--- applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixAddressesPlugin.java	(revision 24209)
+++ applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixAddressesPlugin.java	(revision 24210)
@@ -26,4 +26,5 @@
 public class FixAddressesPlugin extends Plugin {
 	private static IncompleteAddressesDialog incompleteAddrDlg;
+	private static FixAddressesPreferences preferences; 
 
 	/**
@@ -34,15 +35,15 @@
 		super(info);
 				
-		// Create action for edit...
+		// Create actions...
 		FixUnresolvedStreetsAction action = new FixUnresolvedStreetsAction();		
 		SelectIncompleteAddressesAction incAddrAction = new SelectIncompleteAddressesAction();
 		
-		// ... and add it to the tools menu in main
+		// ... and add them to the tools menu in main
 		Main.main.menu.toolsMenu.addSeparator();
         Main.main.menu.toolsMenu.add(action);
         Main.main.menu.toolsMenu.add(incAddrAction);
         
-        // Create dialog 
-        
+        // create preferences instance
+        preferences = (FixAddressesPreferences) new FixAddressesPreferences.Factory().createPreferenceSetting();        
 	}
 
@@ -72,3 +73,12 @@
 		return incompleteAddrDlg;
 	}
+	
+	/**
+	 * Gets the preferences instance for this plugin.
+	 *
+	 * @return the preferences
+	 */
+	public static FixAddressesPreferences getPreferences() {
+		return preferences;
+	}
 }
Index: applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixAddressesPreferences.java
===================================================================
--- applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixAddressesPreferences.java	(revision 24210)
+++ applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixAddressesPreferences.java	(revision 24210)
@@ -0,0 +1,63 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under 
+ * the terms of the GNU General Public License as published by the 
+ * Free Software Foundation, either version 3 of the License, or 
+ * (at your option) any later version. 
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
+ * See the GNU General Public License for more details. 
+ * 
+ * You should have received a copy of the GNU General Public License along with this program. 
+ * If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.openstreetmap.josm.plugins.fixAddresses;
+
+import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
+import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
+
+public class FixAddressesPreferences implements PreferenceSetting {
+	private boolean selectGuessedObjects = false;
+
+	public static class Factory implements PreferenceSettingFactory {
+        public PreferenceSetting createPreferenceSetting() {
+            return new FixAddressesPreferences();
+        }
+    }
+	
+	@Override
+	public void addGui(PreferenceTabbedPane gui) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public boolean ok() {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	/**
+	 * Checks if option "select guessed objects" is set. If yes, every selection
+	 * includes also the objects used for guessing the address tags.
+	 * Otherwise only the teh address itself is selected.
+	 *
+	 * @return the selectGuessedObjects
+	 */
+	public boolean isSelectGuessedObjects() {
+		return selectGuessedObjects;
+	}
+
+	/**
+	 * Sets the select guessed objects.
+	 *
+	 * @param selectGuessedObjects the selectGuessedObjects to set
+	 */
+	void setSelectGuessedObjects(boolean selectGuessedObjects) {
+		this.selectGuessedObjects = selectGuessedObjects;
+	}
+	
+	
+	
+}
Index: applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/OSMAddress.java
===================================================================
--- applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/OSMAddress.java	(revision 24209)
+++ applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/OSMAddress.java	(revision 24210)
@@ -14,4 +14,5 @@
 package org.openstreetmap.josm.plugins.fixAddresses;
 
+import java.util.Collection;
 import java.util.HashMap;
 
@@ -448,4 +449,15 @@
 	
 	/**
+	 * Gets all guessed objects or an empty list, if no guesses have been made yet.
+	 *
+	 * @return the guessed objects.
+	 */
+	public Collection<OsmPrimitive> getGuessedObjects() {
+		if (guessedObjects == null) return null;
+		
+		return guessedObjects.values();
+	}
+	
+	/**
 	 * Check if this instance needs guessed values. This is the case, if the underlying OSM node
 	 * has either no street name, post code or city.
@@ -497,10 +509,10 @@
 	public void setGuessedValue(String tag, String value, OsmPrimitive osm) {
 		CheckParameterUtil.ensureParameterNotNull(tag, "tag");
-		CheckParameterUtil.ensureParameterNotNull(value, "value");
-		CheckParameterUtil.ensureParameterNotNull(osm, "osm");
-		
-		guessedValues.put(tag, value);
-		guessedObjects.put(tag, osm);
-		fireEntityChanged(this);
+
+		if (value != null && osm != null) {
+			guessedValues.put(tag, value);
+			guessedObjects.put(tag, osm);
+			fireEntityChanged(this);
+		}
 	}
 	
Index: applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/gui/actions/SelectAddressesInMapAction.java
===================================================================
--- applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/gui/actions/SelectAddressesInMapAction.java	(revision 24209)
+++ applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/gui/actions/SelectAddressesInMapAction.java	(revision 24210)
@@ -36,4 +36,5 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.plugins.fixAddresses.AddressEditContainer;
+import org.openstreetmap.josm.plugins.fixAddresses.FixAddressesPlugin;
 import org.openstreetmap.josm.plugins.fixAddresses.OSMAddress;
 import org.openstreetmap.josm.plugins.fixAddresses.gui.AddressEditSelectionEvent;
@@ -102,4 +103,11 @@
 		for (OSMAddress aNode : addrToSel) {
 			sel.add(aNode.getOsmObject());
+			
+			// Select also guessed objects, if wished
+			if (FixAddressesPlugin.getPreferences().isSelectGuessedObjects()) {
+				for (OsmPrimitive osmPrimitive : aNode.getGuessedObjects()) {
+					sel.add(osmPrimitive);
+				}
+			}
 		}
 
