Index: applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikidataItemSearchDialog.java
===================================================================
--- applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikidataItemSearchDialog.java	(revision 32626)
+++ applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikidataItemSearchDialog.java	(revision 32627)
@@ -6,4 +6,5 @@
 import java.awt.Component;
 import java.awt.Dimension;
+import java.awt.GridBagLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -15,11 +16,17 @@
 
 import javax.swing.DefaultListCellRenderer;
+import javax.swing.JLabel;
 import javax.swing.JList;
+import javax.swing.JPanel;
 
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.data.osm.Tag;
 import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox;
+import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionListItem;
 import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.gui.widgets.SearchTextResultListPanel;
+import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Utils;
 
@@ -27,8 +34,9 @@
 
     private final Selector selector;
+    private final AutoCompletingComboBox targetKey;
     private static final WikidataItemSearchDialog INSTANCE = new WikidataItemSearchDialog();
 
     private WikidataItemSearchDialog() {
-        super(Main.parent, tr("Search Wikidata items"), new String[]{tr("Add ''wikipedia'' tag"), tr("Cancel")});
+        super(Main.parent, tr("Search Wikidata items"), new String[]{tr("Add Tag"), tr("Cancel")});
         this.selector = new Selector();
         this.selector.setDblClickListener(new ActionListener() {
@@ -38,5 +46,12 @@
             }
         });
-        setContent(selector, false);
+        this.targetKey = new AutoCompletingComboBox();
+        this.targetKey.setSelectedItem(new AutoCompletionListItem("wikidata"));
+
+        final JPanel panel = new JPanel(new GridBagLayout());
+        panel.add(selector, GBC.eop().fill(GBC.BOTH));
+        panel.add(new JLabel(tr("Target key: ")));
+        panel.add(targetKey, GBC.eol().fill(GBC.HORIZONTAL));
+        setContent(panel, false);
         setPreferredSize(new Dimension(600, 300));
     }
@@ -53,8 +68,16 @@
     @Override
     public ExtendedDialog showDialog() {
+        initTargetKeys();
         selector.init();
         super.showDialog();
         selector.clearSelection();
+        selector.requestFocus();
         return this;
+    }
+
+    private void initTargetKeys() {
+        final List<AutoCompletionListItem> keys = Main.getLayerManager().getEditLayer().data.getAutoCompletionManager().getKeys();
+        targetKey.setPossibleACItems(keys);
+        targetKey.setEditable(true);
     }
 
@@ -65,5 +88,11 @@
             return;
         }
-        WikipediaToggleDialog.AddWikipediaTagAction.addTag(selector.getSelectedItem());
+        final WikipediaApp.WikidataEntry selected = selector.getSelectedItem();
+        if (selected == null) {
+            return;
+        }
+        final String key = Tag.removeWhiteSpaces(targetKey.getEditor().getItem().toString());
+        final String value = selected.createWikipediaTag().getValue();
+        WikipediaToggleDialog.AddWikipediaTagAction.addTag(new Tag(key, value));
     }
 
