diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StatusFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StatusFragment.kt
index b044f205cce6e01410c5b29805389227e5d503f5..de4fef1c0fc8e21ecd4d1a7d8af78565e74935e3 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StatusFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StatusFragment.kt
@@ -24,26 +24,24 @@ import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import android.widget.Button
+import android.widget.ImageView
 import android.widget.TextView
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.activityViewModels
-import androidx.navigation.NavController
-import androidx.navigation.fragment.NavHostFragment
 import com.google.android.material.dialog.MaterialAlertDialogBuilder
 import dagger.hilt.android.AndroidEntryPoint
+import kotlinx.coroutines.flow.collect
 import org.briarproject.mailbox.R
+import org.briarproject.mailbox.android.StatusManager
 import org.briarproject.mailbox.android.UiUtils.formatDate
 
 @AndroidEntryPoint
 class StatusFragment : Fragment() {
 
     private val viewModel: MailboxViewModel by activityViewModels()
-    private val nav: NavController by lazy {
-        val navHostFragment = requireActivity().supportFragmentManager
-            .findFragmentById(R.id.fragmentContainer) as NavHostFragment
-        navHostFragment.navController
-    }
 
+    private lateinit var illustration: ImageView
+    private lateinit var headline: TextView
     private lateinit var buttonStop: Button
     private lateinit var buttonUnlink: Button
     private lateinit var textViewDescription: TextView
@@ -57,6 +55,8 @@ class StatusFragment : Fragment() {
     }
 
     override fun onViewCreated(v: View, savedInstanceState: Bundle?) {
+        illustration = v.findViewById(R.id.illustration)
+        headline = v.findViewById(R.id.headline)
         buttonStop = v.findViewById(R.id.buttonStop)
         buttonUnlink = v.findViewById(R.id.buttonUnlink)
         textViewDescription = v.findViewById(R.id.description)
@@ -75,9 +75,26 @@ class StatusFragment : Fragment() {
                 .create().show()
         }
 
-        viewModel.lastAccess.observe(viewLifecycleOwner) { lastAccess ->
-            textViewDescription.text =
-                getString(R.string.last_connection, formatDate(requireContext(), lastAccess))
+        viewModel.lastAccess.observe(viewLifecycleOwner) { onLastAccessChanged(it) }
+        launchAndRepeatWhileStarted {
+            viewModel.setupState.collect { onSetupStateChanged(it) }
+        }
+    }
+
+    private fun onLastAccessChanged(lastAccess: Long) {
+        textViewDescription.text =
+            getString(R.string.last_connection, formatDate(requireContext(), lastAccess))
+    }
+
+    private fun onSetupStateChanged(state: StatusManager.MailboxStartupProgress) {
+        if (state is StatusManager.ErrorNoNetwork) {
+            illustration.setImageResource(R.drawable.ic_error)
+            headline.setText(R.string.status_offline)
+            textViewDescription.setText(R.string.status_offline_description)
+        } else {
+            illustration.setImageResource(R.drawable.ic_success)
+            headline.setText(R.string.status_running)
+            onLastAccessChanged(viewModel.lastAccess.value ?: 0)
         }
     }
 
diff --git a/mailbox-android/src/main/res/drawable/ic_error.xml b/mailbox-android/src/main/res/drawable/ic_error.xml
index 0dc3e30e44197bcce0eac55dbae9944429261b2b..7013bed7b37d8311fd173d16e7dbf3be0eb2b182 100644
--- a/mailbox-android/src/main/res/drawable/ic_error.xml
+++ b/mailbox-android/src/main/res/drawable/ic_error.xml
@@ -1,6 +1,7 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
     android:width="96dp"
     android:height="96dp"
+    android:tint="@color/red"
     android:viewportWidth="96"
     android:viewportHeight="96">
     <path
diff --git a/mailbox-android/src/main/res/drawable/ic_success.xml b/mailbox-android/src/main/res/drawable/ic_success.xml
index 9b0b9c41f21e583b560327a6a83bcc3bd443e2f0..1cd16496fe251385eaee0e0e6fd4bda722413005 100644
--- a/mailbox-android/src/main/res/drawable/ic_success.xml
+++ b/mailbox-android/src/main/res/drawable/ic_success.xml
@@ -1,6 +1,7 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
     android:width="96dp"
     android:height="96dp"
+    android:tint="@color/briar_green"
     android:viewportWidth="96"
     android:viewportHeight="96">
     <path
diff --git a/mailbox-android/src/main/res/layout/fragment_no_network.xml b/mailbox-android/src/main/res/layout/fragment_no_network.xml
index 9c876d916de79dd41ebe37d65365caeb7d7261ef..609c2de9ad2e0c67440fdbec458fd541f0c77f1b 100644
--- a/mailbox-android/src/main/res/layout/fragment_no_network.xml
+++ b/mailbox-android/src/main/res/layout/fragment_no_network.xml
@@ -18,7 +18,6 @@
         app:layout_constraintVertical_chainStyle="packed"
         app:layout_constraintWidth_percent="0.33"
         app:srcCompat="@drawable/ic_error"
-        app:tint="@color/red"
         tools:ignore="ContentDescription" />
 
     <TextView
diff --git a/mailbox-android/src/main/res/layout/fragment_setup_complete.xml b/mailbox-android/src/main/res/layout/fragment_setup_complete.xml
index 9a7b65c41be9730d32531c14592072816553eefc..2a0a337ca5da6929771d2889e5c765e620f78a3c 100644
--- a/mailbox-android/src/main/res/layout/fragment_setup_complete.xml
+++ b/mailbox-android/src/main/res/layout/fragment_setup_complete.xml
@@ -18,8 +18,7 @@
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintVertical_chainStyle="packed"
         app:layout_constraintWidth_percent="0.33"
-        app:srcCompat="@drawable/ic_success"
-        app:tint="@color/briar_green" />
+        app:srcCompat="@drawable/ic_success" />
 
     <TextView
         android:id="@+id/headline"
diff --git a/mailbox-android/src/main/res/layout/fragment_startup.xml b/mailbox-android/src/main/res/layout/fragment_startup.xml
index d7ca5a847a5b2a14ee9e3281f4f6f91219d42720..2b40b78c3d67057a82e748fa645e6f7d9e47b335 100644
--- a/mailbox-android/src/main/res/layout/fragment_startup.xml
+++ b/mailbox-android/src/main/res/layout/fragment_startup.xml
@@ -19,14 +19,15 @@
 
     <TextView
         android:id="@+id/statusTextView"
-        android:layout_width="wrap_content"
+        android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_margin="16dp"
+        android:gravity="center"
         android:textSize="24sp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toBottomOf="@id/progress"
-        tools:text="STOPPED" />
+        tools:text="@string/startup_bootstrapping_tor" />
 
 </androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/mailbox-android/src/main/res/layout/fragment_status.xml b/mailbox-android/src/main/res/layout/fragment_status.xml
index 3981dc5aec34bc4fda3f17afa6f036049764340b..c7e113a9338ed3b36858241a8ba03c088331ede8 100644
--- a/mailbox-android/src/main/res/layout/fragment_status.xml
+++ b/mailbox-android/src/main/res/layout/fragment_status.xml
@@ -21,7 +21,6 @@
         app:layout_constraintVertical_chainStyle="packed"
         app:layout_constraintWidth_percent="0.2"
         app:srcCompat="@drawable/ic_success"
-        app:tint="@color/briar_green"
         tools:ignore="ContentDescription" />
 
     <com.google.android.material.button.MaterialButton
@@ -51,10 +50,11 @@
 
     <TextView
         android:id="@+id/description"
-        android:layout_width="wrap_content"
+        android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_marginHorizontal="16dp"
         android:layout_marginTop="8dp"
+        android:gravity="center"
         android:text="@string/last_connection"
         android:textSize="16sp"
         app:layout_constraintBottom_toTopOf="@+id/buttonUnlink"
diff --git a/mailbox-android/src/main/res/layout/fragment_wipe_complete.xml b/mailbox-android/src/main/res/layout/fragment_wipe_complete.xml
index 6278bbc8bc382c4ec7ab91d7a11830c467340bd7..1a3292a59c851c0a4f3c4a7a571098b6531e2b41 100644
--- a/mailbox-android/src/main/res/layout/fragment_wipe_complete.xml
+++ b/mailbox-android/src/main/res/layout/fragment_wipe_complete.xml
@@ -18,7 +18,6 @@
         app:layout_constraintVertical_chainStyle="packed"
         app:layout_constraintWidth_percent="0.33"
         app:srcCompat="@drawable/ic_success"
-        app:tint="@color/briar_green"
         tools:ignore="ContentDescription" />
 
     <TextView
diff --git a/mailbox-android/src/main/res/layout/fragment_wiping.xml b/mailbox-android/src/main/res/layout/fragment_wiping.xml
index ee29d19fc7fece7d0a4a3795c4ae3edcd761ea72..fdc2d3cdeb72920c6cd7768f1257152abd8ae0b3 100644
--- a/mailbox-android/src/main/res/layout/fragment_wiping.xml
+++ b/mailbox-android/src/main/res/layout/fragment_wiping.xml
@@ -19,14 +19,15 @@
 
     <TextView
         android:id="@+id/statusTextView"
-        android:layout_width="wrap_content"
+        android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_margin="16dp"
+        android:gravity="center"
+        android:text="@string/wipe_wiping"
         android:textSize="24sp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/progress"
-        android:text="@string/wipe_wiping" />
+        app:layout_constraintTop_toBottomOf="@id/progress" />
 
 </androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/mailbox-android/src/main/res/values/strings.xml b/mailbox-android/src/main/res/values/strings.xml
index 9a49e1978b9566d3019787114cf844df2ff37048..281dbd424427c2f5c903c745842ef0a8373f1b2e 100644
--- a/mailbox-android/src/main/res/values/strings.xml
+++ b/mailbox-android/src/main/res/values/strings.xml
@@ -31,7 +31,7 @@
     <string name="link_description">Scan this QR code with Briar</string>
     <string name="link_cancel">Cancel Setup</string>
 
-    <string name="startup_starting_services">Starting services</string>
+    <string name="startup_starting_services">Starting mailbox</string>
     <string name="startup_starting_tor">Starting Tor</string>
     <!-- The number placeholder will be replaced with a percentage, e.g. 50 -> (50%) -->
     <string name="startup_bootstrapping_tor">Bootstrapping Tor (%d%%)</string>
@@ -41,6 +41,8 @@
     <string name="no_network_description">Please ensure this device is online and connected to the Internet. Once you\'re online, setup should pick up automatically here.</string>
 
     <string name="status_running">Mailbox is running</string>
+    <string name="status_offline">Device offline</string>
+    <string name="status_offline_description">Ensure this device is online and connected to the (uncensored) Internet.</string>
     <string name="last_connection">Last connection: %s</string>
     <string name="now">now</string>
     <string name="never">never</string>