Index: trunk/src/org/openstreetmap/josm/data/osm/NoteData.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/NoteData.java	(revision 14101)
+++ trunk/src/org/openstreetmap/josm/data/osm/NoteData.java	(revision 14102)
@@ -51,5 +51,5 @@
 
     /**
-     * Construct a new note container with a given list of notes
+     * Construct a new note container without notes
      * @since 14101
      */
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java	(revision 14101)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java	(revision 14102)
@@ -277,7 +277,9 @@
         @Override
         public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
-            FilterTableModel model = (FilterTableModel) table.getModel();
             Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
-            cell.setEnabled(model.isCellEnabled(row, column));
+            TableModel model = table.getModel();
+            if (model instanceof FilterTableModel) {
+                cell.setEnabled(((FilterTableModel) model).isCellEnabled(row, column));
+            }
             return cell;
         }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 14101)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 14102)
@@ -813,5 +813,8 @@
             if (c instanceof JLabel) {
                 JLabel label = (JLabel) c;
-                label.setText(((MemberInfo) table.getValueAt(row, 1)).getPositionString());
+                MemberInfo member = (MemberInfo) table.getValueAt(row, 1);
+                if (member != null) {
+                    label.setText(member.getPositionString());
+                }
                 if (isDisabledAndHidden) {
                     label.setFont(label.getFont().deriveFont(Font.ITALIC));
Index: trunk/src/org/openstreetmap/josm/gui/layer/NoteLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/NoteLayer.java	(revision 14101)
+++ trunk/src/org/openstreetmap/josm/gui/layer/NoteLayer.java	(revision 14102)
@@ -19,4 +19,5 @@
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -97,7 +98,5 @@
      */
     public NoteLayer(Collection<Note> notes, String name) {
-        super(name);
-        noteData = new NoteData(notes);
-        noteData.addNoteDataUpdateListener(this);
+        this(new NoteData(notes), name);
     }
 
@@ -110,5 +109,5 @@
     public NoteLayer(NoteData noteData, String name) {
         super(name);
-        this.noteData = noteData;
+        this.noteData = Objects.requireNonNull(noteData);
         this.noteData.addNoteDataUpdateListener(this);
     }
