Index: domaineditor/src/main/java/geniusweb/actions/LoadAction.java
===================================================================
--- domaineditor/src/main/java/geniusweb/actions/LoadAction.java	(revision 49)
+++ domaineditor/src/main/java/geniusweb/actions/LoadAction.java	(revision 50)
@@ -4,5 +4,4 @@
 import java.awt.event.KeyEvent;
 import java.io.File;
-import java.io.IOException;
 import java.util.logging.Level;
 
@@ -31,20 +30,20 @@
 
 	public void load(LinearAdditiveUtilitySpaceModel model) {
-		JFileChooser chooser = new JFileChooser();
-		FileNameExtensionFilter filter = new FileNameExtensionFilter(
-				"JSON file", "json");
-		chooser.setFileFilter(filter);
-		int selection = chooser.showOpenDialog(null);
-		if (selection != JFileChooser.APPROVE_OPTION)
-			return;
-		File file = chooser.getSelectedFile();
+		try {
+			JFileChooser chooser = new JFileChooser();
+			FileNameExtensionFilter filter = new FileNameExtensionFilter(
+					"JSON file", "json");
+			chooser.setFileFilter(filter);
+			int selection = chooser.showOpenDialog(null);
+			if (selection != JFileChooser.APPROVE_OPTION)
+				return;
+			File file = chooser.getSelectedFile();
 
-		try {
 			LinearAdditiveUtilitySpace profi = jackson.readValue(file,
 					LinearAdditiveUtilitySpace.class);
 			model.setCurrentValue(profi);
-		} catch (IOException e1) {
+		} catch (Exception e1) {
 			log.log(Level.WARNING,
-					"Failed to read file " + file + ": " + e1.getMessage());
+					"Failed to read file " + ": " + e1.getMessage());
 			e1.printStackTrace();
 		}
Index: domaineditor/src/main/java/geniusweb/actions/SaveAction.java
===================================================================
--- domaineditor/src/main/java/geniusweb/actions/SaveAction.java	(revision 49)
+++ domaineditor/src/main/java/geniusweb/actions/SaveAction.java	(revision 50)
@@ -4,5 +4,4 @@
 import java.awt.event.KeyEvent;
 import java.io.File;
-import java.io.IOException;
 import java.util.logging.Level;
 
@@ -36,18 +35,19 @@
 	 */
 	protected void save(LinearAdditiveUtilitySpaceModel model) {
-		LinearAdditiveUtilitySpace profile = model.getCurrentValue();
-		JFileChooser chooser = new JFileChooser();
-		chooser.setSelectedFile(new File(profile.getName() + ".json"));
-		FileNameExtensionFilter filter = new FileNameExtensionFilter(
-				"JSON file", "json");
-		chooser.setFileFilter(filter);
-		int selection = chooser.showSaveDialog(null);
-		if (selection != JFileChooser.APPROVE_OPTION)
-			return;
-		File file = chooser.getSelectedFile();
 		try {
+			LinearAdditiveUtilitySpace profile = model.getCurrentValue();
+
+			JFileChooser chooser = new JFileChooser();
+			chooser.setSelectedFile(new File(profile.getName() + ".json"));
+			FileNameExtensionFilter filter = new FileNameExtensionFilter(
+					"JSON file", "json");
+			chooser.setFileFilter(filter);
+			int selection = chooser.showSaveDialog(null);
+			if (selection != JFileChooser.APPROVE_OPTION)
+				return;
+			File file = chooser.getSelectedFile();
 			jackson.writeValue(file, profile);
-		} catch (IOException e) {
-			log.log(Level.WARNING, "Failed to save:" + e.getMessage());
+		} catch (Exception e) {
+			log.log(Level.SEVERE, "Failed to save:" + e.getMessage());
 			e.printStackTrace();
 		}
Index: domaineditor/src/main/java/geniusweb/actions/SaveDomainAction.java
===================================================================
--- domaineditor/src/main/java/geniusweb/actions/SaveDomainAction.java	(revision 50)
+++ domaineditor/src/main/java/geniusweb/actions/SaveDomainAction.java	(revision 50)
@@ -0,0 +1,55 @@
+package geniusweb.actions;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import java.io.File;
+import java.util.logging.Level;
+
+import javax.swing.JFileChooser;
+import javax.swing.KeyStroke;
+import javax.swing.filechooser.FileNameExtensionFilter;
+
+import geniusweb.domaineditor.ProfileEditor;
+import geniusweb.domaineditor.model.profile.LinearAdditiveUtilitySpaceModel;
+import geniusweb.issuevalue.Domain;
+import tudelft.utilities.logging.Reporter;
+
+public class SaveDomainAction extends GuiAction {
+
+	public SaveDomainAction(Reporter log) {
+		super("Save Domain", log);
+		putValue(SHORT_DESCRIPTION, "Save the domain only");
+		putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S,
+				ActionEvent.CTRL_MASK + ActionEvent.SHIFT_MASK));
+	}
+
+	@Override
+	public void actionPerformed(ActionEvent e) {
+		save(ProfileEditor.getInstance().getModel());
+	}
+
+	/**
+	 * Save a model.
+	 * 
+	 * @param model the {@link LinearAdditiveUtilitySpaceModel} to be saved
+	 */
+	protected void save(LinearAdditiveUtilitySpaceModel model) {
+
+		try {
+			Domain domain = model.getCurrentValue().getDomain();
+			JFileChooser chooser = new JFileChooser();
+			chooser.setSelectedFile(new File(domain.getName() + ".json"));
+			FileNameExtensionFilter filter = new FileNameExtensionFilter(
+					"JSON file", "json");
+			chooser.setFileFilter(filter);
+			int selection = chooser.showSaveDialog(null);
+			if (selection != JFileChooser.APPROVE_OPTION)
+				return;
+			File file = chooser.getSelectedFile();
+			jackson.writeValue(file, domain);
+		} catch (Exception e) {
+			log.log(Level.WARNING, "Failed to save:" + e.getMessage());
+			e.printStackTrace();
+		}
+	}
+}
