diff --git a/android/pandora/server/src/com/android/pandora/Host.kt b/android/pandora/server/src/com/android/pandora/Host.kt
index beddc70ad280205276b8be44cbf44ef5ffbec1ee..324f2b96ba15aafb41e6705dca26d0e76c0c77d1 100644
--- a/android/pandora/server/src/com/android/pandora/Host.kt
+++ b/android/pandora/server/src/com/android/pandora/Host.kt
@@ -127,13 +127,17 @@ class Host(
   }
 
   override fun factoryReset(request: Empty, responseObserver: StreamObserver<Empty>) {
-    grpcUnary<Empty>(scope, responseObserver, 10) {
+    grpcUnary<Empty>(scope, responseObserver, 30) {
       Log.i(TAG, "factoryReset")
 
-      bluetoothAdapter.clearBluetooth()
+      val stateFlow =
+      flow
+        .filter { it.getAction() == BluetoothAdapter.ACTION_STATE_CHANGED }
+        .map { it.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR) }
 
-      rebootBluetooth()
+      bluetoothAdapter.clearBluetooth()
 
+      stateFlow.filter { it == BluetoothAdapter.STATE_ON }.first()
       Log.i(TAG, "Shutdown the gRPC Server")
       server.shutdown()