Index: trunk/src/org/openstreetmap/josm/command/conflict/ConflictAddCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/conflict/ConflictAddCommand.java	(revision 8909)
+++ trunk/src/org/openstreetmap/josm/command/conflict/ConflictAddCommand.java	(revision 8910)
@@ -22,5 +22,5 @@
  */
 public class ConflictAddCommand extends Command {
-    private Conflict<? extends OsmPrimitive> conflict;
+    private final Conflict<? extends OsmPrimitive> conflict;
 
     /**
@@ -61,5 +61,5 @@
     @Override
     public void undoCommand() {
-        if (!Main.map.mapView.hasLayer(getLayer())) {
+        if (Main.map != null && !Main.map.mapView.hasLayer(getLayer())) {
             Main.warn(tr("Layer ''{0}'' does not exist any more. Cannot remove conflict for object ''{1}''.",
                     getLayer().getName(),
Index: trunk/src/org/openstreetmap/josm/command/conflict/ConflictResolveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/conflict/ConflictResolveCommand.java	(revision 8909)
+++ trunk/src/org/openstreetmap/josm/command/conflict/ConflictResolveCommand.java	(revision 8910)
@@ -20,5 +20,5 @@
 public abstract class ConflictResolveCommand extends Command {
     /** the list of resolved conflicts */
-    private ConflictCollection resolvedConflicts;
+    private final ConflictCollection resolvedConflicts;
 
     /**
Index: trunk/src/org/openstreetmap/josm/command/conflict/CoordinateConflictResolveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/conflict/CoordinateConflictResolveCommand.java	(revision 8909)
+++ trunk/src/org/openstreetmap/josm/command/conflict/CoordinateConflictResolveCommand.java	(revision 8910)
@@ -21,5 +21,5 @@
 
     /** the conflict to resolve */
-    private Conflict<? extends OsmPrimitive> conflict;
+    private final Conflict<? extends OsmPrimitive> conflict;
 
     /** the merge decision */
Index: trunk/src/org/openstreetmap/josm/command/conflict/DeletedStateConflictResolveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/conflict/DeletedStateConflictResolveCommand.java	(revision 8909)
+++ trunk/src/org/openstreetmap/josm/command/conflict/DeletedStateConflictResolveCommand.java	(revision 8910)
@@ -21,5 +21,5 @@
 
     /** the conflict to resolve */
-    private Conflict<? extends OsmPrimitive> conflict;
+    private final Conflict<? extends OsmPrimitive> conflict;
 
     /** the merge decision */
Index: trunk/src/org/openstreetmap/josm/command/conflict/ModifiedConflictResolveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/conflict/ModifiedConflictResolveCommand.java	(revision 8909)
+++ trunk/src/org/openstreetmap/josm/command/conflict/ModifiedConflictResolveCommand.java	(revision 8910)
@@ -22,5 +22,5 @@
 
     /** the conflict to resolve */
-    private Conflict<? extends OsmPrimitive> conflict;
+    private final Conflict<? extends OsmPrimitive> conflict;
 
     /**
Index: trunk/src/org/openstreetmap/josm/command/conflict/TagConflictResolveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/conflict/TagConflictResolveCommand.java	(revision 8909)
+++ trunk/src/org/openstreetmap/josm/command/conflict/TagConflictResolveCommand.java	(revision 8910)
@@ -22,5 +22,5 @@
 public class TagConflictResolveCommand extends ConflictResolveCommand {
     /** the conflict to resolve */
-    private Conflict<? extends OsmPrimitive> conflict;
+    private final Conflict<? extends OsmPrimitive> conflict;
 
     /** the list of merge decisions, represented as {@link TagMergeItem}s */
Index: trunk/src/org/openstreetmap/josm/command/conflict/VersionConflictResolveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/conflict/VersionConflictResolveCommand.java	(revision 8909)
+++ trunk/src/org/openstreetmap/josm/command/conflict/VersionConflictResolveCommand.java	(revision 8910)
@@ -22,5 +22,5 @@
 
     /** the conflict to resolve */
-    private Conflict<? extends OsmPrimitive> conflict;
+    private final Conflict<? extends OsmPrimitive> conflict;
 
     /**
Index: trunk/src/org/openstreetmap/josm/command/conflict/WayNodesConflictResolverCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/conflict/WayNodesConflictResolverCommand.java	(revision 8909)
+++ trunk/src/org/openstreetmap/josm/command/conflict/WayNodesConflictResolverCommand.java	(revision 8910)
@@ -22,5 +22,5 @@
 public class WayNodesConflictResolverCommand extends ConflictResolveCommand {
     /** the conflict to resolve */
-    private Conflict<Way> conflict;
+    private final Conflict<Way> conflict;
 
     /** the list of merged nodes. This becomes the list of news of my way after the
Index: trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 8909)
+++ trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 8910)
@@ -89,4 +89,5 @@
 import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.gui.widgets.JosmTextArea;
+import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.FilteredCollection;
 import org.openstreetmap.josm.tools.GBC;
@@ -246,5 +247,5 @@
      */
     public static Color getBackgroundColor() {
-        return Main.pref.getColor(marktr("background"), Color.BLACK);
+        return Main.pref != null ? Main.pref.getColor(marktr("background"), Color.BLACK) : Color.BLACK;
     }
 
@@ -254,5 +255,5 @@
      */
     public static Color getOutsideColor() {
-        return Main.pref.getColor(marktr("outside downloaded area"), Color.YELLOW);
+        return Main.pref != null ? Main.pref.getColor(marktr("outside downloaded area"), Color.YELLOW) : Color.YELLOW;
     }
 
@@ -281,4 +282,5 @@
     public OsmDataLayer(final DataSet data, final String name, final File associatedFile) {
         super(name);
+        CheckParameterUtil.ensureParameterNotNull(data, "data");
         this.data = data;
         this.setAssociatedFile(associatedFile);
