diff --git a/android/src/com/buildasnowman/game/AndroidInterfaceClass.java b/android/src/com/buildasnowman/game/AndroidInterfaceClass.java
index b598c651dda198f52b7c5313e609d19b18634739..b9e697c0307b26f63a5384698c9e9f908b65acd6 100644
--- a/android/src/com/buildasnowman/game/AndroidInterfaceClass.java
+++ b/android/src/com/buildasnowman/game/AndroidInterfaceClass.java
@@ -222,8 +222,14 @@ public class AndroidInterfaceClass implements FirebaseInterface {
                     String host = (String) snapshot.child(roomID).child("hostPlayer").child("uid").getValue();
                     room.setRoomID(roomID);
                     room.setHostPlayer(new Player(host));
+
+                    //add listener to update score in room
+                    updatePlayerScore(player, false);
+                    usersInRoom();
+                } else {
+                    room = null; //remove local room if ID does not exist
+                 //   throw new IllegalArgumentException("No room with this ID exists.");
                 }
-                usersInRoom();
             }
 
             @Override
@@ -231,8 +237,7 @@ public class AndroidInterfaceClass implements FirebaseInterface {
 
             }
         });
-        //add listener to update score in room
-        updatePlayerScore(player,false);
+
     }
 
     public void updatePlayerScore(Player p, boolean ignoreRoom) {
@@ -413,9 +418,16 @@ public class AndroidInterfaceClass implements FirebaseInterface {
     }
 
     public boolean isRoomReady() {
-        usersInRoom();
+        boolean ready;
+
+        if (room == null ) {
+            ready = false;
+        } else {
+            usersInRoom();
+            ready = room.isRoomReady();
+        }
 
-        return room.isRoomReady();
+        return ready;
     }
 
 }
diff --git a/core/src/com/buildasnowman/views/JoinMultiPlayer.java b/core/src/com/buildasnowman/views/JoinMultiPlayer.java
index 839ecfb73b3051cb39c719455d3e593c045ca1ba..4921413ed599f7bb2aa0b529e9ffca0fa8ae914e 100644
--- a/core/src/com/buildasnowman/views/JoinMultiPlayer.java
+++ b/core/src/com/buildasnowman/views/JoinMultiPlayer.java
@@ -30,7 +30,7 @@ public class JoinMultiPlayer extends View {
 
     String gameCode;
 
-    private TextField gameCodeField, gameCodeLabelField;
+    private TextField gameCodeField, gameCodeLabelField, errorField;
 
     CreateButtonController createImgBtn;
     NavBarController navBar;
@@ -79,15 +79,24 @@ public class JoinMultiPlayer extends View {
         gameCodeLabelField.setMessageText("Enter game pin:");
         gameCodeLabelField.setDisabled(true);
 
+        //error text field, initially invisible
+        errorField = createImgBtn.createTextField("", 5f, null);
+        errorField.setMessageText("Invalid code");
+        errorField.setDisabled(true);
+        errorField.setVisible(false);
+
         //Table for join game button
         Table joinGameTable = new Table();
         joinGameTable.setFillParent(true);
-        joinGameTable.columnDefaults(0).width(Gdx.graphics.getWidth()/2f).height(Gdx.graphics.getHeight()/3f);
+        joinGameTable.columnDefaults(0).width(Gdx.graphics.getWidth()/2f).height(Gdx.graphics.getHeight()/4f);
         joinGameTable.add(gameCodeLabelField);
 
         joinGameTable.row();
         joinGameTable.add(gameCodeField);
 
+        joinGameTable.row();
+        joinGameTable.add(errorField);
+
         joinGameTable.row();
         joinGameTable.add(joinGameImageButton);
 
@@ -140,6 +149,8 @@ public class JoinMultiPlayer extends View {
             boolean roomReady = MPController.checkRoomStatus(); //checks if the room has registered two users
             if (roomReady) {
                 vm.set(new SnowmanGameView(vm, musicManager, MPController));
+            } else {
+                errorField.setVisible(true);
             }
 
         }