diff --git a/bin/de/deadlocker8/roadgame/logic/Board.class b/bin/de/deadlocker8/roadgame/logic/Board.class
index 9fd0b006b733e31bb2191558e7944e02ebf33685..b0cad02dd0c19c783c02615a51dc74bcff218e5a 100644
Binary files a/bin/de/deadlocker8/roadgame/logic/Board.class and b/bin/de/deadlocker8/roadgame/logic/Board.class differ
diff --git a/bin/de/deadlocker8/roadgame/logic/Game.class b/bin/de/deadlocker8/roadgame/logic/Game.class
index dc3bfe85233eb41d5d7b319ec476fd8804810208..e862ecc9737deecace3642c65c26c229473796bc 100644
Binary files a/bin/de/deadlocker8/roadgame/logic/Game.class and b/bin/de/deadlocker8/roadgame/logic/Game.class differ
diff --git a/bin/de/deadlocker8/roadgame/tilepacks/TilePackTest2.class b/bin/de/deadlocker8/roadgame/tilepacks/TilePackTest2.class
new file mode 100644
index 0000000000000000000000000000000000000000..0fc0a42fa46fc5c2b515fc7e081a374a02c49833
Binary files /dev/null and b/bin/de/deadlocker8/roadgame/tilepacks/TilePackTest2.class differ
diff --git a/bin/de/deadlocker8/roadgame/ui/Controller.class b/bin/de/deadlocker8/roadgame/ui/Controller.class
index 0f4c297b9a397c2c17b14932eca93ae0e0abecf1..44de8aa4615b85fc86feaccaa7df2feaab9db619 100644
Binary files a/bin/de/deadlocker8/roadgame/ui/Controller.class and b/bin/de/deadlocker8/roadgame/ui/Controller.class differ
diff --git a/bin/de/deadlocker8/roadgame/ui/SelectTilePackController$1.class b/bin/de/deadlocker8/roadgame/ui/SelectTilePackController$1.class
index 3875f98da1827314065a224d11592b4e83ab5572..bedf680ac2b3bbcb2f66d1cf496c5d87a9bff893 100644
Binary files a/bin/de/deadlocker8/roadgame/ui/SelectTilePackController$1.class and b/bin/de/deadlocker8/roadgame/ui/SelectTilePackController$1.class differ
diff --git a/bin/de/deadlocker8/roadgame/ui/SelectTilePackController$2.class b/bin/de/deadlocker8/roadgame/ui/SelectTilePackController$2.class
index 6ab0b99aa84d336328a46f2d150e066c0b5cf408..c1e46d7ede0e2d0c9a75c6e25144c146a32a401f 100644
Binary files a/bin/de/deadlocker8/roadgame/ui/SelectTilePackController$2.class and b/bin/de/deadlocker8/roadgame/ui/SelectTilePackController$2.class differ
diff --git a/bin/de/deadlocker8/roadgame/ui/SelectTilePackController.class b/bin/de/deadlocker8/roadgame/ui/SelectTilePackController.class
index 0f5b49df7ea5b10af5da539b981464cf6078a558..75590e6be117f1f67f1ca6acff6be800c19e5561 100644
Binary files a/bin/de/deadlocker8/roadgame/ui/SelectTilePackController.class and b/bin/de/deadlocker8/roadgame/ui/SelectTilePackController.class differ
diff --git a/src/de/deadlocker8/roadgame/logic/Board.java b/src/de/deadlocker8/roadgame/logic/Board.java
index 77927eaee62c5531f3c0abfda0e4cd5dcb670ded..81e42e873469d309cff7b698e66095c5fa829cff 100644
--- a/src/de/deadlocker8/roadgame/logic/Board.java
+++ b/src/de/deadlocker8/roadgame/logic/Board.java
@@ -167,6 +167,39 @@ public class Board
 		}		
 		
 		return possibleLocations;
+	}	
+
+	public boolean tileCanBePlaced(Tile tile)
+	{
+		if(getPossibleLocations(tile).size() == 0)
+		{
+			return false;
+		}
+		
+		tile.rotateRight();
+		if(getPossibleLocations(tile).size() == 0)
+		{
+			tile.rotateLeft();
+			return false;
+		}
+		
+		tile.rotateRight();
+		if(getPossibleLocations(tile).size() == 0)
+		{
+			tile.rotateLeft();
+			tile.rotateLeft();
+			return false;
+		}
+		
+		tile.rotateRight();
+		if(getPossibleLocations(tile).size() == 0)
+		{
+			tile.rotateRight();
+			return false;
+		}
+		
+		tile.rotateRight();
+		return true;
 	}
 	
 	public Dimension getDimension()
diff --git a/src/de/deadlocker8/roadgame/logic/Game.java b/src/de/deadlocker8/roadgame/logic/Game.java
index 1d51cbe07801c62b1f5cd7119da0d1e899b3b0ae..e289a7bc48a520de6677e2950432b67952b917da 100644
--- a/src/de/deadlocker8/roadgame/logic/Game.java
+++ b/src/de/deadlocker8/roadgame/logic/Game.java
@@ -46,6 +46,11 @@ public class Game
 		return board.getPossibleLocations(tile);
 	}
 	
+	public boolean tileCanBePlaced(Tile tile)
+	{
+		return board.tileCanBePlaced(tile);
+	}
+	
 	public void placeTile(Tile tile, Point2D position)
 	{
 		tile.setPosition(position);
diff --git a/src/de/deadlocker8/roadgame/tilepacks/TilePackTest2.java b/src/de/deadlocker8/roadgame/tilepacks/TilePackTest2.java
new file mode 100644
index 0000000000000000000000000000000000000000..f3c6919237bb2b81f93c1a3b2f31094f301f58c3
--- /dev/null
+++ b/src/de/deadlocker8/roadgame/tilepacks/TilePackTest2.java
@@ -0,0 +1,18 @@
+package de.deadlocker8.roadgame.tilepacks;
+
+import java.util.HashMap;
+
+import de.deadlocker8.roadgame.logic.TileType;
+
+public class TilePackTest2 extends TilePack
+{
+	public TilePackTest2()
+	{
+		super("Test 2");
+		
+		tiles = new HashMap<>();		
+		tiles.put(TileType.ROAD_END, 1);
+		tiles.put(TileType.CASTLE_FULL, 1);
+		tiles.put(TileType.ROAD_CURVE, 1);		
+	}
+}
\ No newline at end of file
diff --git a/src/de/deadlocker8/roadgame/ui/Controller.java b/src/de/deadlocker8/roadgame/ui/Controller.java
index 6bdac12ef00b621b75c2f2f2c1536dbbe578b7f5..311f0aebcbb1195fe743a70148d5fc57d1dfe415 100644
--- a/src/de/deadlocker8/roadgame/ui/Controller.java
+++ b/src/de/deadlocker8/roadgame/ui/Controller.java
@@ -318,13 +318,33 @@ public class Controller
 		}
 			
 		game.setCurrentTile(nextTile);
-
-		stackPaneCurrentTile.getChildren().clear();
-		stackPaneCurrentTile.getChildren().add(createStackPaneForTile(game.getCurrentTile(), false, 0, 0));
 		
-		labelTilesRemaining.setText(String.valueOf(game.getBoard().getTilePack().getNumberOfTiles()));
+		if(game.tileCanBePlaced(game.getCurrentTile()))
+		{
+			stackPaneCurrentTile.getChildren().clear();
+			stackPaneCurrentTile.getChildren().add(createStackPaneForTile(game.getCurrentTile(), false, 0, 0));
+			
+			labelTilesRemaining.setText(String.valueOf(game.getBoard().getTilePack().getNumberOfTiles()));
 
-		updateGrid(game.getBoard(), game.getPossibleLocations(game.getCurrentTile()));			
+			updateGrid(game.getBoard(), game.getPossibleLocations(game.getCurrentTile()));	
+		}	
+		else
+		{
+			Alert alert = new Alert(AlertType.INFORMATION);
+			alert.setTitle("Tile skipped");
+			alert.setHeaderText("");
+			alert.setContentText("The following tile has been skipped because it doesn't fit the current board:");
+			Stage dialogStage = (Stage)alert.getDialogPane().getScene().getWindow();		
+			alert.getDialogPane().setExpandableContent(createStackPaneForTile(game.getCurrentTile(), false, 0, 0));
+			alert.getDialogPane().setExpanded(true);			
+			dialogStage.getIcons().add(icon);
+			dialogStage.centerOnScreen();
+			alert.showAndWait();
+			
+			labelTilesRemaining.setText(String.valueOf(game.getBoard().getTilePack().getNumberOfTiles()));
+			
+			nextTile();
+		}			
 	}
 
 	public void rotateRight()
diff --git a/src/de/deadlocker8/roadgame/ui/SelectTilePackController.java b/src/de/deadlocker8/roadgame/ui/SelectTilePackController.java
index 761c40be2199f5cb9f73e5c71d71bd7e1de1bfc1..190e99a0d17700352ac8175a895c5d3d1c8560ae 100644
--- a/src/de/deadlocker8/roadgame/ui/SelectTilePackController.java
+++ b/src/de/deadlocker8/roadgame/ui/SelectTilePackController.java
@@ -7,6 +7,7 @@ import de.deadlocker8.roadgame.tilepacks.TilePack;
 import de.deadlocker8.roadgame.tilepacks.TilePackAllPossibleTiles;
 import de.deadlocker8.roadgame.tilepacks.TilePackDefault;
 import de.deadlocker8.roadgame.tilepacks.TilePackTest;
+import de.deadlocker8.roadgame.tilepacks.TilePackTest2;
 import javafx.event.ActionEvent;
 import javafx.event.EventHandler;
 import javafx.fxml.FXML;
@@ -50,6 +51,7 @@ public class SelectTilePackController
 		possibleTilePacks.add(new TilePackDefault());
 		possibleTilePacks.add(new TilePackTest());	
 		possibleTilePacks.add(new TilePackAllPossibleTiles());	
+		possibleTilePacks.add(new TilePackTest2());
 		
 		for(TilePack currentPack : possibleTilePacks)
 		{