diff --git a/PlayWallCore/src/de/tobias/playpad/action/MappingList.java b/PlayWallCore/src/de/tobias/playpad/action/MappingList.java
index 542f990dd43b94f82651f87c102881f3ff40cd0c..73b8805db3fd55ea103536049f84fb12557e6dbf 100644
--- a/PlayWallCore/src/de/tobias/playpad/action/MappingList.java
+++ b/PlayWallCore/src/de/tobias/playpad/action/MappingList.java
@@ -91,6 +91,11 @@ public class MappingList extends ArrayList<Mapping> {
 		if (activeMapping != null)
 			rootElement.addAttribute(ACTIVE_ATTR, activeMapping.toString());
 
+		if (Files.notExists(path)) {
+			Files.createDirectories(path.getParent());
+			Files.createFile(path);
+		}
+		
 		XMLHandler<Mapping> handler = new XMLHandler<>(rootElement);
 		handler.saveElements(MAPPING, this, new MappingSerializer());
 		XMLHandler.save(path, document);