Index: trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 18311)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 18313)
@@ -434,5 +434,5 @@
      */
     public static String getEditItem(AutoCompComboBox<AutoCompletionItem> cb) {
-        return Utils.removeWhiteSpaces(cb.getEditor().getItem().toString());
+        return Utils.removeWhiteSpaces(cb.getEditorItemAsString());
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Text.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Text.java	(revision 18311)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Text.java	(revision 18313)
@@ -4,5 +4,4 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import java.util.ArrayList;
 import java.awt.Color;
 import java.awt.Component;
@@ -11,4 +10,5 @@
 import java.text.NumberFormat;
 import java.text.ParseException;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -223,5 +223,5 @@
     private static String getValue(Component comp) {
         if (comp instanceof JosmComboBox) {
-            return ((JosmComboBox<?>) comp).getEditor().getItem().toString();
+            return ((JosmComboBox<?>) comp).getEditorItemAsString();
         } else if (comp instanceof JosmTextField) {
             return ((JosmTextField) comp).getText();
Index: trunk/src/org/openstreetmap/josm/gui/widgets/HistoryComboBox.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/HistoryComboBox.java	(revision 18311)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/HistoryComboBox.java	(revision 18313)
@@ -29,6 +29,8 @@
      */
     public void addCurrentItemToHistory() {
-        String newItem = getModel().addTopElement(getEditor().getItem().toString());
-        getModel().setSelectedItem(newItem);
+        String item = getEditorItemAsString();
+        if (item != null) {
+            getModel().setSelectedItem(getModel().addTopElement(item));
+        }
     }
 }
Index: trunk/src/org/openstreetmap/josm/gui/widgets/JosmComboBox.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/JosmComboBox.java	(revision 18311)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/JosmComboBox.java	(revision 18313)
@@ -170,4 +170,13 @@
     public JosmTextField getEditorComponent() {
         return (JosmTextField) (editor == null ? null : editor.getEditorComponent());
+    }
+
+    /**
+     * Returns the string representation of current edited item, or null.
+     * @return the string representation of current edited item, or null
+     * @since 18313
+     */
+    public String getEditorItemAsString() {
+        return editor != null && editor.getItem() != null ? editor.getItem().toString() : null;
     }
 
