diff --git a/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothPlugin.java b/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothPlugin.java
index 2c318a6493722db272b75afa698321e128c694c7..f0242b4ae0d86d65d73acd1aa00cbc54298ee05d 100644
--- a/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothPlugin.java
+++ b/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothPlugin.java
@@ -129,6 +129,7 @@ class AndroidBluetoothPlugin extends BluetoothPlugin<BluetoothServerSocket> {
 	@Nullable
 	String getBluetoothAddress() {
 		String address = AndroidUtils.getBluetoothAddress(appContext, adapter);
+		LOG.info("Bluetooth address:" + address);
 		return address.isEmpty() ? null : address;
 	}
 
diff --git a/bramble-android/src/main/java/org/briarproject/bramble/util/AndroidUtils.java b/bramble-android/src/main/java/org/briarproject/bramble/util/AndroidUtils.java
index 15edba9c49be5d825c2944d19422d30264b20700..7ff7037cd180e3461093a5d56c625ddac6921fb4 100644
--- a/bramble-android/src/main/java/org/briarproject/bramble/util/AndroidUtils.java
+++ b/bramble-android/src/main/java/org/briarproject/bramble/util/AndroidUtils.java
@@ -6,6 +6,7 @@ import android.os.Build;
 import android.provider.Settings;
 
 import java.io.File;
+import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -41,6 +42,18 @@ public class AndroidUtils {
 		address = Settings.Secure.getString(ctx.getContentResolver(),
 				"bluetooth_address");
 		if (isValidBluetoothAddress(address)) return address;
+		try {
+			final Field mServiceField;
+			mServiceField = BluetoothAdapter.class.getDeclaredField("mService");
+			mServiceField.setAccessible(true);
+			final Object mService = mServiceField.get(adapter);
+			if (mService == null)
+				return "";
+			address = (String) mService.getClass().getMethod("getAddress").invoke(mService);
+			if (isValidBluetoothAddress(address)) return address;
+		} catch (Exception e) {
+			// Nothing we can do about it.
+		}
 		// Let the caller know we can't find the address
 		return "";
 	}