diff --git a/data/ui/app.briar.gtk.gresource.xml b/data/ui/app.briar.gtk.gresource.xml
index 8cd9fae29a6e9965fd2e37e2d3ae6f37d5277ae2..6525dd28cb409ccd1a8cfa205813d2531b7c0ce1 100644
--- a/data/ui/app.briar.gtk.gresource.xml
+++ b/data/ui/app.briar.gtk.gresource.xml
@@ -3,6 +3,7 @@
   <gresource prefix="/app/briar/gtk">
     <file compressed="true">ui/application.css</file>
     <file compressed="true" preprocess="xml-stripblanks">ui/login.ui</file>
+    <file compressed="true" preprocess="xml-stripblanks">ui/main.ui</file>
     <file compressed="true" preprocess="xml-stripblanks">ui/setup.ui</file>
   </gresource>
 </gresources>
diff --git a/data/ui/main.ui b/data/ui/main.ui
new file mode 100644
index 0000000000000000000000000000000000000000..bdeb7271c527925dae0f76b44eee5339b35e4ac2
--- /dev/null
+++ b/data/ui/main.ui
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <requires lib="gtk+" version="3.20"/>
+  <object class="GtkGrid" id="main">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="halign">center</property>
+    <property name="valign">center</property>
+    <property name="margin_left">18</property>
+    <property name="margin_right">18</property>
+    <property name="margin_top">18</property>
+    <property name="margin_bottom">18</property>
+    <child>
+      <object class="GtkListBox" id="contacts_list">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+      </object>
+    </child>
+  </object>
+</interface>
+
+
diff --git a/src/briar/gtk/containers/main.py b/src/briar/gtk/containers/main.py
index de6b33b4ef0009a888e8a59e28149b7513294e1d..0dee7fd68187d870ae659e7a1235a686ebd8e72a 100644
--- a/src/briar/gtk/containers/main.py
+++ b/src/briar/gtk/containers/main.py
@@ -10,7 +10,6 @@ class MainContainer(Container):
     def __init__(self):
         super().__init__()
         self.__setup_view()
-        self.__register_signals()
 
     def __setup_view(self):
         self.builder.add_from_resource("/app/briar/gtk/ui/main.ui")
diff --git a/src/briar/gtk/containers/startup.py b/src/briar/gtk/containers/startup.py
index 420790c69b0ca8760a69d9058fd948da3890bc3c..2f163216343b125ffc6e15a153e3ec4d2dea1a25 100644
--- a/src/briar/gtk/containers/startup.py
+++ b/src/briar/gtk/containers/startup.py
@@ -52,7 +52,6 @@ class StartupContainer(Container):
 
     def _startup_finished(self, succeeded):
         if succeeded:
-            print("Startup succeeded")
             self.emit("briar_startup_completed", (succeeded,))
             return
         print("Startup failed")
diff --git a/src/briar/gtk/window.py b/src/briar/gtk/window.py
index 78362d66819a81e05cb451070d5466c8cb86d118..e11cb78121a3d72b42b34ffc6cb3145ee267361b 100644
--- a/src/briar/gtk/window.py
+++ b/src/briar/gtk/window.py
@@ -48,7 +48,8 @@ class Window(Gtk.ApplicationWindow):
         self.__grid.add(self.__container)
 
     def __on_startup_completed(self, inst, obj):
-        self.__grid = Gtk.Grid()
+        self.__grid.destroy()
+        self.__setup_grid()
         self.__setup_main_container()
 
     def __setup_main_container(self):