diff --git a/tetrecs/src/main/java/uk/ac/soton/comp1206/scene/MultiplayerScene.java b/tetrecs/src/main/java/uk/ac/soton/comp1206/scene/MultiplayerScene.java
index fc3e846017294b79920980fc7b20c58639f1aeea..1eee6ec059858fd820dcd8359d4fbd2d448f4b7e 100644
--- a/tetrecs/src/main/java/uk/ac/soton/comp1206/scene/MultiplayerScene.java
+++ b/tetrecs/src/main/java/uk/ac/soton/comp1206/scene/MultiplayerScene.java
@@ -156,41 +156,44 @@ public class MultiplayerScene extends ChallengeScene {
     leaderboard.getScores().bind(new SimpleListProperty<>(this.game.getLeaderboardList()));
     gameInfo.getChildren().add(0, leaderboard);
 
-    for (int i = 0; i < this.players.length; i++) {
-      LetterBoard playerBoard = new LetterBoard(gameWindow.getWidth() / 8, gameWindow.getWidth() / 8);
-      playerGrids.add(playerBoard);
+    if (players.length > 0) {
+      for (int i = 0; i < this.players.length; i++) {
+        LetterBoard playerBoard = new LetterBoard(gameWindow.getWidth() / 8, gameWindow.getWidth() / 8);
+        playerGrids.add(playerBoard);
 
-      Text playerName = new Text(players[i]);
-      playerName.getStyleClass().add("leaderboard");
-      playerName.setFill(GameBlock.COLOURS[i+1]);
+        Text playerName = new Text(players[i]);
+        playerName.getStyleClass().add("leaderboard");
+        playerName.setFill(GameBlock.COLOURS[i+1]);
 
-      VBox player = new VBox();
-      player.setAlignment(Pos.CENTER);
-      player.setSpacing(5);
-      player.getChildren().addAll(playerBoard, playerName);
+        VBox player = new VBox();
+        player.setAlignment(Pos.CENTER);
+        player.setSpacing(5);
+        player.getChildren().addAll(playerBoard, playerName);
 
-      playerBoards.add(player);
-    }
+        playerBoards.add(player);
+      }
 
-    boardDisplay = new HBox();
-    boardDisplay.setAlignment(Pos.CENTER);
-    boardDisplay.setSpacing(10);
+      boardDisplay = new HBox();
+      boardDisplay.setAlignment(Pos.CENTER);
+      boardDisplay.setSpacing(10);
 
-    Canvas prevArrow = new Canvas(this.gameWindow.getWidth() / 20, this.gameWindow.getHeight() / 20);
-    prevArrow.getGraphicsContext2D().setFill(Color.WHITE);
-    prevArrow.getGraphicsContext2D().fillPolygon(new double[]{prevArrow.getWidth() / 2, prevArrow.getWidth(), prevArrow.getWidth()}, new double[]{prevArrow.getHeight() / 2, 0, prevArrow.getHeight()}, 3);
-    prevArrow.setOnMouseClicked(this::displayPrevBoard);
-    boardDisplay.getChildren().add(prevArrow);
+      Canvas prevArrow = new Canvas(this.gameWindow.getWidth() / 20, this.gameWindow.getHeight() / 20);
+      prevArrow.getGraphicsContext2D().setFill(Color.WHITE);
+      prevArrow.getGraphicsContext2D().fillPolygon(new double[]{prevArrow.getWidth() / 2, prevArrow.getWidth(), prevArrow.getWidth()}, new double[]{prevArrow.getHeight() / 2, 0, prevArrow.getHeight()}, 3);
+      prevArrow.setOnMouseClicked(this::displayPrevBoard);
+      boardDisplay.getChildren().add(prevArrow);
 
-    boardDisplay.getChildren().add(playerBoards.get(0));
+      boardDisplay.getChildren().add(playerBoards.get(0));
 
-    Canvas nextArrow = new Canvas(this.gameWindow.getWidth() / 20, this.gameWindow.getHeight() / 20);
-    nextArrow.getGraphicsContext2D().setFill(Color.WHITE);
-    nextArrow.getGraphicsContext2D().fillPolygon(new double[]{0, nextArrow.getWidth() / 2, 0}, new double[]{0, nextArrow.getHeight() / 2, nextArrow.getHeight()}, 3);
-    nextArrow.setOnMouseClicked(this::displayNextBoard);
-    boardDisplay.getChildren().add(nextArrow);
+      Canvas nextArrow = new Canvas(this.gameWindow.getWidth() / 20, this.gameWindow.getHeight() / 20);
+      nextArrow.getGraphicsContext2D().setFill(Color.WHITE);
+      nextArrow.getGraphicsContext2D().fillPolygon(new double[]{0, nextArrow.getWidth() / 2, 0}, new double[]{0, nextArrow.getHeight() / 2, nextArrow.getHeight()}, 3);
+      nextArrow.setOnMouseClicked(this::displayNextBoard);
+      boardDisplay.getChildren().add(nextArrow);
+
+      gameInfo.getChildren().add(boardDisplay);
+    }
 
-    gameInfo.getChildren().add(boardDisplay);
 
     VBox chatAndTimer = new VBox();