Index: /applications/editors/josm/plugins/surveyor/src/at/dallermassl/josm/plugin/surveyor/SurveyorComponent.java
===================================================================
--- /applications/editors/josm/plugins/surveyor/src/at/dallermassl/josm/plugin/surveyor/SurveyorComponent.java	(revision 3344)
+++ /applications/editors/josm/plugins/surveyor/src/at/dallermassl/josm/plugin/surveyor/SurveyorComponent.java	(revision 3345)
@@ -12,9 +12,12 @@
 import java.io.Reader;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import javax.swing.JComponent;
 import javax.swing.JFrame;
 import javax.swing.JLabel;
+import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 
@@ -38,7 +41,9 @@
     private JLabel streetLabel;
     private JPanel buttonPanel;
+    private Set<String>hotKeys;
 
     public SurveyorComponent() {
         super();
+        hotKeys = new HashSet<String>();
         setLayout(new BorderLayout());
         streetLabel = new JLabel("Way: ");
@@ -97,9 +102,19 @@
 
     public void addButton(ButtonDescription description) {
-        if(rows == 0 && columns == 0) {
-            setColumns("4");
+        if(hotKeys.contains(description.getHotkey())) {
+            // <FIXXME date="23.06.2007" author="cdaller">
+            // TODO if i18n is done
+            //JOptionPane.showMessageDialog(Main.parent, tr("Duplicate hotkey for button '{0}' - button will be ignored!",description.getLabel()));
+            JOptionPane.showMessageDialog(Main.parent, "Duplicate hotkey for button '" + description.getLabel() 
+                + "' - button will be ignored!");
+            // </FIXXME> 
+        } else {
+            if(rows == 0 && columns == 0) {
+                setColumns("4");
+            }
+            description.setGpsDataSource(this);
+            buttonPanel.add(description.createComponent());
+            hotKeys.add(description.getHotkey());
         }
-        description.setGpsDataSource(this);
-        buttonPanel.add(description.createComponent());
     }
     
@@ -165,5 +180,5 @@
         if("gpsdata".equals(evt.getPropertyName())) {
             gpsData = (LiveGpsData) evt.getNewValue();
-            streetLabel.setText("Way: " + gpsData.getWay());
+            streetLabel.setText("Way: " + gpsData.getWayInfo());
         }
         
