Index: /trunk/data/defaultpresets.xml
===================================================================
--- /trunk/data/defaultpresets.xml	(revision 7117)
+++ /trunk/data/defaultpresets.xml	(revision 7118)
@@ -59,4 +59,5 @@
   match: none/key/key!/keyvalue (default is "none", see below for more information)
   length: length of input box (number of characters allowed)
+  alternative_autocomplete_keys: comma separated list of alternative keys to use for autocompletion
 
 combo: combo box, with multiple choices and possible to enter free form text
@@ -6682,6 +6683,6 @@
             <text key="addr:housenumber" text="House number" match="key" auto_increment="-2,-1,+1,+2" />
             <optional>
-                <text key="addr:housename" text="House name" match="key" />
-                <text key="addr:street" text="Street name" use_last_as_default="force" match="key" />
+                <text key="addr:housename" text="House name" match="key" alternative_autocomplete_keys="name" />
+                <text key="addr:street" text="Street name" use_last_as_default="force" match="key" alternative_autocomplete_keys="name" />
                 <text key="addr:city" text="City name" use_last_as_default="force" match="key" />
                 <text key="addr:postcode" text="Post code" use_last_as_default="force" match="key" />
Index: /trunk/data/tagging-preset.xsd
===================================================================
--- /trunk/data/tagging-preset.xsd	(revision 7117)
+++ /trunk/data/tagging-preset.xsd	(revision 7118)
@@ -157,4 +157,5 @@
 		<attribute name="match" type="tns:match" />
 		<attribute name="length" type="positiveInteger" />
+		<attribute name="alternative_autocomplete_keys" type="string" />
 
 		<attribute name="type" use="prohibited" />
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItem.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItem.java	(revision 7117)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItem.java	(revision 7118)
@@ -2,4 +2,5 @@
 package org.openstreetmap.josm.gui.tagging;
 
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
@@ -21,5 +22,9 @@
 public abstract class TaggingPresetItem {
 
-    protected void initAutoCompletionField(AutoCompletingTextField field, String key) {
+    protected void initAutoCompletionField(AutoCompletingTextField field, String... key) {
+        initAutoCompletionField(field, Arrays.asList(key));
+    }
+
+    protected void initAutoCompletionField(AutoCompletingTextField field, List<String> keys) {
         if (Main.main == null) return;
         OsmDataLayer layer = Main.main.getEditLayer();
@@ -28,5 +33,5 @@
         }
         AutoCompletionList list = new AutoCompletionList();
-        layer.data.getAutoCompletionManager().populateWithTagValues(list, key);
+        layer.data.getAutoCompletionManager().populateWithTagValues(list, keys);
         field.setAutoCompletionList(list);
     }
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java	(revision 7117)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java	(revision 7118)
@@ -577,4 +577,5 @@
         public String auto_increment;
         public String length;
+        public String alternative_autocomplete_keys;
 
         private JComponent value;
@@ -585,5 +586,9 @@
             Usage usage = determineTextUsage(sel, key);
             AutoCompletingTextField textField = new AutoCompletingTextField();
-            initAutoCompletionField(textField, key);
+            if (alternative_autocomplete_keys != null) {
+                initAutoCompletionField(textField, (key + "," + alternative_autocomplete_keys).split(","));
+            } else {
+                initAutoCompletionField(textField, key);
+            }
             if (length != null && !length.isEmpty()) {
                 textField.setMaxChars(Integer.valueOf(length));
