diff --git a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java
index 1f1638753f4c252ae74c0fc1a9b88f74ea5913d8..87e1c2cd93191a082b5babbb612845026f3981bc 100644
--- a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java
+++ b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java
@@ -183,7 +183,7 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro
 		{
 			openProject.addPage();
 			initPageButtons();
-			highlightPageButton(currentSelectedPageButton);
+			highlightPageButton(mainViewController.getPage());
 		});
 
 		iconHbox.getChildren().add(editButtons);
diff --git a/PlayWallCore/src/de/tobias/playpad/project/Project.java b/PlayWallCore/src/de/tobias/playpad/project/Project.java
index f630cbad2937544b438b063221f6857e22fe86bf..c98e23cb1f8c98617ecd655e62891d538ef39db6 100644
--- a/PlayWallCore/src/de/tobias/playpad/project/Project.java
+++ b/PlayWallCore/src/de/tobias/playpad/project/Project.java
@@ -5,7 +5,6 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.UUID;
@@ -52,7 +51,7 @@ public class Project {
 	 */
 	public static final String FILE_EXTENSION = ".xml";
 
-	private final HashMap<Integer, Page> pages;
+	private final List<Page> pages;
 
 	private final ProjectReference projectReference;
 	private ProjectSettings settings;
@@ -65,7 +64,7 @@ public class Project {
 
 	public Project(ProjectReference ref) {
 		this.projectReference = ref;
-		this.pages = new HashMap<>();
+		this.pages = new ArrayList<>();
 		this.settings = new ProjectSettings();
 
 		this.exceptions = FXCollections.observableArrayList();
@@ -98,7 +97,7 @@ public class Project {
 	}
 
 	public Pad getPad(UUID uuid) {
-		for (Page page : pages.values()) {
+		for (Page page : pages) {
 			for (Pad pad : page.getPads()) {
 				if (pad.getUuid().equals(uuid)) {
 					return pad;
@@ -119,25 +118,29 @@ public class Project {
 
 	public Collection<Pad> getPads() {
 		List<Pad> pads = new ArrayList<>();
-		pages.values().stream().map(page -> page.getPads()).forEach(pads::addAll);
+		pages.stream().map(page -> page.getPads()).forEach(pads::addAll);
 		return pads;
 	}
 
 	// Pages
 
 	public Page getPage(int index) {
-		if (!pages.containsKey(index) && index < ProjectSettings.MAX_PAGES) {
-			pages.put(index, new Page(index, this));
+		if (index >= pages.size() && index < ProjectSettings.MAX_PAGES) {
+			pages.add(new Page(index, this));
 		}
 		return pages.get(index);
 	}
 
 	public Collection<Page> getPages() {
-		return pages.values();
+		// Create new page if all is empty (automaticlly)
+		if (pages.isEmpty()) {
+			pages.add(new Page(0, this));
+		}
+		return pages;
 	}
 
 	public void setPage(int index, Page page) {
-		pages.put(index, page);
+		pages.set(index, page);
 		page.setId(index);
 	}
 
@@ -170,7 +173,7 @@ public class Project {
 			XMLHandler<Page> handler = new XMLHandler<>(rootElement);
 			List<Page> pages = handler.loadElements(PAGE_ELEMENT, new PageSerializer(project));
 			for (Page page : pages) {
-				project.pages.put(page.getId(), page);
+				project.pages.add(page);
 			}
 
 			// Lädt die Einstellungen
@@ -200,7 +203,7 @@ public class Project {
 
 		// Speichern der Pads
 		XMLHandler<Page> handler = new XMLHandler<>(rootElement);
-		handler.saveElements(PAGE_ELEMENT, pages.values(), new PageSerializer(this));
+		handler.saveElements(PAGE_ELEMENT, pages, new PageSerializer(this));
 
 		// Speichern der Settings
 		Element settingsElement = rootElement.addElement(SETTINGS_ELEMENT);
@@ -297,19 +300,19 @@ public class Project {
 	}
 
 	public void removePage(Page page) {
+		System.out.println(page.getId());
 		pages.remove(page.getId());
-		for (int i = page.getId() + 1; i < pages.size(); i++) {
+		// Neue Interne Indies für die Pages
+		for (int i = page.getId(); i < pages.size(); i++) {
 			Page tempPage = pages.get(i);
-			tempPage.setId(i - 1);
-			pages.put(i - 1, tempPage);
+			tempPage.setId(i);
 		}
-		pages.remove(pages.size() - 1);
 
 		System.out.println(pages);
 	}
 
 	public void addPage() {
 		int index = pages.size();
-		pages.put(index, new Page(index, this));
+		pages.add(new Page(index, this));
 	}
 }