Index: applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawConfigDialog.java
===================================================================
--- applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawConfigDialog.java	(revision 30532)
+++ applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawConfigDialog.java	(revision 30709)
@@ -7,4 +7,7 @@
 import java.text.NumberFormat;
 import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
 
 import javax.swing.AbstractAction;
@@ -61,6 +64,7 @@
         });
         pasteButton.setToolTipText(tr("Try copying tags from properties table"));
-        
-        addTags.setPossibleItems(Main.pref.getCollection("fastdraw.tags-history"));
+        ArrayList<String> history = new ArrayList<>(Main.pref.getCollection("fastdraw.tags-history"));
+        while (history.remove("")) { };
+        addTags.setPossibleItems(history);
         
         all.add(label1,GBC.std().insets(10,0,0,0));
@@ -118,5 +122,7 @@
             settings.simplifyMode=combo1.getSelectedIndex();
             settings.autoTags=addTags.getText();
-            addTags.addCurrentItemToHistory();
+            if (!settings.autoTags.isEmpty()) {
+                addTags.addCurrentItemToHistory();
+            }
             Main.pref.putCollection("fastdraw.tags-history", addTags.getHistory());
             settings.savePrefs();
Index: applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java
===================================================================
--- applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java	(revision 30532)
+++ applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java	(revision 30709)
@@ -9,11 +9,15 @@
 import java.awt.AWTEvent;
 import java.awt.Color;
+import java.awt.Component;
 import java.awt.Cursor;
 import java.awt.Graphics2D;
+import java.awt.KeyboardFocusManager;
 import java.awt.Point;
 import java.awt.Toolkit;
 import java.awt.event.*;
 import java.util.*;
+import javax.swing.JFrame;
 import javax.swing.JOptionPane;
+import javax.swing.SwingUtilities;
 import javax.swing.Timer;
 
@@ -265,5 +269,9 @@
                   set.add((e.getKeyCode()));
                 }
-            doKeyEvent((KeyEvent) event);
+            // check if key press is done in main window, not in dialogs
+            Component focused = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
+            if (SwingUtilities.getWindowAncestor(focused) instanceof JFrame) {
+                doKeyEvent((KeyEvent) event);
+            }
         }
         if (event.getID() == KeyEvent.KEY_RELEASED) {
