diff --git a/briar-android/src/org/briarproject/android/SettingsActivity.java b/briar-android/src/org/briarproject/android/SettingsActivity.java
index 7c48355a99bc0feae8d25947f4f2cf52320ee991..8433bc114ef4fe88eaf3d24ea57ca549a1cf7f2c 100644
--- a/briar-android/src/org/briarproject/android/SettingsActivity.java
+++ b/briar-android/src/org/briarproject/android/SettingsActivity.java
@@ -17,6 +17,7 @@ import android.widget.TextView;
 
 import org.briarproject.R;
 import org.briarproject.android.panic.PanicPreferencesActivity;
+import org.briarproject.android.util.AndroidUtils;
 import org.briarproject.android.util.FixedVerticalSpace;
 import org.briarproject.android.util.HorizontalBorder;
 import org.briarproject.android.util.LayoutUtils;
@@ -330,8 +331,7 @@ OnClickListener {
 			bluetoothSetting = !bluetoothSetting;
 			BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
 			if (adapter != null) {
-				if (bluetoothSetting) adapter.enable();
-				else adapter.disable();
+				AndroidUtils.setBluetooth(adapter, bluetoothSetting);
 			}
 			storeBluetoothSetting();
 			displaySettings();
diff --git a/briar-android/src/org/briarproject/android/SplashScreenActivity.java b/briar-android/src/org/briarproject/android/SplashScreenActivity.java
index e74056341b6a4e6ca75d5a3d24af6a7cc18118bd..ffc926b1cfaf30dfa610c2a0f6f43dc58ef6276c 100644
--- a/briar-android/src/org/briarproject/android/SplashScreenActivity.java
+++ b/briar-android/src/org/briarproject/android/SplashScreenActivity.java
@@ -65,8 +65,7 @@ public class SplashScreenActivity extends RoboSplashActivity {
 		logo.setImageResource(R.drawable.briar_logo_large);
 		layout.addView(logo);
 
-		PreferenceManager
-				.setDefaultValues(this, R.xml.panic_preferences, false);
+		setPreferencesDefaults();
 
 		setContentView(layout);
 	}
@@ -111,4 +110,15 @@ public class SplashScreenActivity extends RoboSplashActivity {
 		if (f.isFile()) f.delete();
 		else if (f.isDirectory()) for (File child : f.listFiles()) delete(child);
 	}
+
+	private void setPreferencesDefaults() {
+		new Thread() {
+			@Override
+			public void run() {
+				PreferenceManager
+						.setDefaultValues(SplashScreenActivity.this,
+								R.xml.panic_preferences, false);
+			}
+		}.start();
+	}
 }
diff --git a/briar-android/src/org/briarproject/android/invitation/AddContactActivity.java b/briar-android/src/org/briarproject/android/invitation/AddContactActivity.java
index 7d2ab13417b4e5b3407fdbf549942c99e1154afe..ef2fc44d07c1b77aab36f60366489ca16a64834f 100644
--- a/briar-android/src/org/briarproject/android/invitation/AddContactActivity.java
+++ b/briar-android/src/org/briarproject/android/invitation/AddContactActivity.java
@@ -7,6 +7,7 @@ import android.widget.Toast;
 
 import org.briarproject.R;
 import org.briarproject.android.BriarActivity;
+import org.briarproject.android.util.AndroidUtils;
 import org.briarproject.api.TransportConfig;
 import org.briarproject.api.TransportId;
 import org.briarproject.api.android.ReferenceManager;
@@ -333,7 +334,7 @@ implements InvitationListener {
 			if (LOG.isLoggable(INFO)) LOG.info("Turning off Bluetooth again");
 
 			BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
-			if (adapter != null) adapter.disable();
+			if (adapter != null) AndroidUtils.setBluetooth(adapter, false);
 		}
 	}
 
diff --git a/briar-android/src/org/briarproject/android/util/AndroidUtils.java b/briar-android/src/org/briarproject/android/util/AndroidUtils.java
index abbafafd37992976aab2302a7d31f4b60692606e..01d2cbf4b1cd1276d1bcacd0b05015e92c08eb2f 100644
--- a/briar-android/src/org/briarproject/android/util/AndroidUtils.java
+++ b/briar-android/src/org/briarproject/android/util/AndroidUtils.java
@@ -1,6 +1,7 @@
 package org.briarproject.android.util;
 
 import android.annotation.SuppressLint;
+import android.bluetooth.BluetoothAdapter;
 import android.os.Build;
 import android.support.design.widget.TextInputLayout;
 
@@ -32,4 +33,16 @@ public class AndroidUtils {
 		} else
 			til.setError(null);
 	}
+
+	public static void setBluetooth(final BluetoothAdapter adapter,
+			final boolean activate) {
+
+		new Thread() {
+			@Override
+			public void run() {
+				if (activate) adapter.enable();
+				else adapter.disable();
+			}
+		}.start();
+	}
 }