diff --git a/js/src/main/scala/cs214/webapp/client/Pages.scala b/js/src/main/scala/cs214/webapp/client/Pages.scala
index bb916f0562c7e6d3e2894c621db056a0cd05f7af..30bf5d16f0830c55169fc24f5dbd46ce4779ede9 100644
--- a/js/src/main/scala/cs214/webapp/client/Pages.scala
+++ b/js/src/main/scala/cs214/webapp/client/Pages.scala
@@ -158,7 +158,9 @@ case class UIPage(appId: AppId, instanceId: InstanceId) extends Page:
       WebClient.navigateTo(JoinPageLoader(appId, ui.uiId, instanceId))
 
   def renderInto(target: Element) = 
-    if appUIs.size <= 1 then
+    if appUIs.size <= 0 then
+      throw IllegalStateException(f"No UI found for app with id $appId.") 
+    else if appUIs.size == 1 then
       WebClient.navigateTo(JoinPageLoader(appId, appUIs(0).uiId, instanceId))
     else replaceChildren(target):
       dom.window.addEventListener("keydown", (e: dom.KeyboardEvent) => handleKeyboardEvent(e))