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 27337)
+++ /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixAddressesPlugin.java	(revision 27338)
@@ -17,4 +17,5 @@
 import org.openstreetmap.josm.gui.IconToggleButton;
 import org.openstreetmap.josm.gui.MapFrame;
+import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
 import org.openstreetmap.josm.plugins.Plugin;
 import org.openstreetmap.josm.plugins.PluginInformation;
@@ -66,5 +67,9 @@
 	}
 
-
+	@Override
+	public PreferenceSetting getPreferenceSetting() {
+		// TODO Auto-generated method stub
+		return getPreferences();
+	}
 
 	/**
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 27337)
+++ /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/FixAddressesPreferences.java	(revision 27338)
@@ -14,12 +14,24 @@
 package org.openstreetmap.josm.plugins.fixAddresses;
 
+import javax.swing.ButtonGroup;
+import javax.swing.JCheckBox;
+
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
 import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
+import static org.openstreetmap.josm.tools.I18n.tr;
 
-// TODO: Implement
 public class FixAddressesPreferences implements PreferenceSetting {
-	private boolean selectGuessedObjects = false;
+	private static final String FIX_ADDRESSES_IGNORE_POST_CODE_KEY = "fixAddresses.ignorePostCode";
+	private static final String FIX_ADDRESSES_SELECT_GUESSED_OBJECTS_KEY = "fixAddresses.selectGuessedObjects";
+	
+	private JCheckBox cbSelectGuessedObjects = new JCheckBox(tr("Include objects used for guesses"));
+	private JCheckBox cbIgnorePostCode = new JCheckBox();
 
+	/**
+	 * Internal factory class. Call <code>FixAddressesPreferences.Factory().createPreferenceSetting()</code> to
+	 * create the preference setting instance. 
+	 */
 	public static class Factory implements PreferenceSettingFactory {
 		public PreferenceSetting createPreferenceSetting() {
@@ -27,15 +39,48 @@
 		}
 	}
+	
+	/**
+	 * Internal constructor.
+	 */
+	private FixAddressesPreferences() {
+		loadFromPrefs();
+	}
+	
+	/**
+	 * Loads the (initial) preference settings.
+	 */
+	private void loadFromPrefs() {
+		@SuppressWarnings("unused")
+		boolean test = Main.pref.getBoolean(FIX_ADDRESSES_IGNORE_POST_CODE_KEY, false);
+		setSelectGuessedObjects(Main.pref.getBoolean(FIX_ADDRESSES_SELECT_GUESSED_OBJECTS_KEY, false));
+		setIgnorePostCode(Main.pref.getBoolean(FIX_ADDRESSES_IGNORE_POST_CODE_KEY, false));
+	}
+	
+	/**
+	 * Save the preference settings.
+	 */
+	private void saveToPrefs() {
+		Main.pref.put(FIX_ADDRESSES_SELECT_GUESSED_OBJECTS_KEY, isSelectGuessedObjects());
+		Main.pref.put(FIX_ADDRESSES_IGNORE_POST_CODE_KEY, isIgnorePostCode());
+	}
 
+	/* (non-Javadoc)
+	 * @see org.openstreetmap.josm.gui.preferences.PreferenceSetting#addGui(org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane)
+	 */
 	@Override
 	public void addGui(PreferenceTabbedPane gui) {
-		// TODO Auto-generated method stub
-
+		// Import settings
+        ButtonGroup fixAddrOptions = new ButtonGroup();
+        fixAddrOptions.add(cbSelectGuessedObjects);
+        fixAddrOptions.add(cbIgnorePostCode);
 	}
 
+	/* (non-Javadoc)
+	 * @see org.openstreetmap.josm.gui.preferences.PreferenceSetting#ok()
+	 */
 	@Override
 	public boolean ok() {
-		// TODO Auto-generated method stub
-		return false;
+		saveToPrefs();
+		return true;
 	}
 
@@ -48,5 +93,5 @@
 	 */
 	public boolean isSelectGuessedObjects() {
-		return selectGuessedObjects;
+		return cbSelectGuessedObjects.isSelected();
 	}
 
@@ -57,8 +102,19 @@
 	 */
 	void setSelectGuessedObjects(boolean selectGuessedObjects) {
-		this.selectGuessedObjects = selectGuessedObjects;
+		cbSelectGuessedObjects.setSelected(selectGuessedObjects);
 	}
 
+	/**
+	 * Checks if invalid post codes should be ignored. If yes, post codes are neither
+	 * checked for existence nor for correctness.
+	 * @return
+	 */
+	public boolean isIgnorePostCode() {
+		return cbIgnorePostCode.isSelected();
+	}
 
+	public void setIgnorePostCode(boolean ignorePostCode) {
+		cbIgnorePostCode.setSelected(ignorePostCode);
+	}
 
 }
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 27337)
+++ /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/OSMAddress.java	(revision 27338)
@@ -67,7 +67,5 @@
 	public boolean isComplete() {
 		boolean isComplete =    hasCity() &&
-								hasHouseNumber() &&
-								(hasPostalCode() &&
-								PostalCodeChecker.hasValidPostalCode(this)) &&
+								hasHouseNumber() &&								
 								hasCity() &&
 								hasStreetName();
@@ -76,4 +74,11 @@
 		if (TagUtils.isStateRequired()) {
 			isComplete = isComplete && hasState();
+		}
+		
+		// Check, if user checked "ignore post code"
+		if (!FixAddressesPlugin.getPreferences().isIgnorePostCode()) {
+			isComplete = isComplete  && 
+					hasPostalCode() &&
+					PostalCodeChecker.hasValidPostalCode(this);
 		}
 
Index: /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/TagUtils.java
===================================================================
--- /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/TagUtils.java	(revision 27337)
+++ /applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/TagUtils.java	(revision 27338)
@@ -1954,6 +1954,4 @@
 		return relMember != null && STREET_RELATION_ROLE.equals(relMember.getRole());
 	}
-
-
 
 	/**
