Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java	(revision 1814)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java	(revision 1815)
@@ -288,4 +288,6 @@
         public void refresh() {
             data.clear();
+            if (Main.main.getCurrentDataSet() == null)
+                return;
             for (OsmPrimitive primitive: Main.main.getCurrentDataSet().getSelected()) {
                 if (primitive.id == 0) {
@@ -454,5 +456,9 @@
 
         public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
-            setEnabled(Main.main.getCurrentDataSet().getSelected().size() > 0);
+            if (Main.main.getCurrentDataSet() == null) {
+                setEnabled(false);
+            } else {
+                setEnabled(Main.main.getCurrentDataSet().getSelected().size() > 0);
+            }
 
         }
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java	(revision 1814)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java	(revision 1815)
@@ -792,19 +792,20 @@
 
         Map<Relation, Collection<RelationMember>> roles = new HashMap<Relation, Collection<RelationMember>>();
-        for (Relation r : Main.main.getCurrentDataSet().relations) {
-            if (!r.deleted && !r.incomplete) {
-                for (RelationMember m : r.members) {
-                    if (newSelection.contains(m.member)) {
-                        Collection<RelationMember> value = roles.get(r);
-                        if (value == null) {
-                            value = new HashSet<RelationMember>();
-                            roles.put(r, value);
+        if (Main.main.getCurrentDataSet() != null) {
+            for (Relation r : Main.main.getCurrentDataSet().relations) {
+                if (!r.deleted && !r.incomplete) {
+                    for (RelationMember m : r.members) {
+                        if (newSelection.contains(m.member)) {
+                            Collection<RelationMember> value = roles.get(r);
+                            if (value == null) {
+                                value = new HashSet<RelationMember>();
+                                roles.put(r, value);
+                            }
+                            value.add(m);
                         }
-                        value.add(m);
-                    }
-                }
-            }
-        }
-
+                    }
+                }
+            }
+        }
         for (Entry<Relation, Collection<RelationMember>> e : roles.entrySet()) {
             membershipData.addRow(new Object[]{e.getKey(), e.getValue()});
