diff --git a/framework/java/android/bluetooth/BluetoothLeBroadcast.java b/framework/java/android/bluetooth/BluetoothLeBroadcast.java
index 4e21153adc80bd3ff1a52ed0bfa0806141f3d30e..89fb54e77fd028ab21c08e243be95dac2777c333 100644
--- a/framework/java/android/bluetooth/BluetoothLeBroadcast.java
+++ b/framework/java/android/bluetooth/BluetoothLeBroadcast.java
@@ -554,6 +554,9 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi
     public void startBroadcast(@NonNull BluetoothLeAudioContentMetadata contentMetadata,
             @Nullable byte[] broadcastCode) {
         Objects.requireNonNull(contentMetadata, "contentMetadata cannot be null");
+        if (mCallbackExecutorMap.isEmpty()) {
+            throw new IllegalStateException("No callback was ever registered");
+        }
 
         if (DBG) log("startBroadcasting");
         final IBluetoothLeAudio service = getService();
@@ -593,6 +596,9 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi
             })
     public void startBroadcast(@NonNull BluetoothLeBroadcastSettings broadcastSettings) {
         Objects.requireNonNull(broadcastSettings, "broadcastSettings cannot be null");
+        if (mCallbackExecutorMap.isEmpty()) {
+            throw new IllegalStateException("No callback was ever registered");
+        }
 
         if (DBG) log("startBroadcasting");
         final IBluetoothLeAudio service = getService();
@@ -637,6 +643,9 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi
     public void updateBroadcast(int broadcastId,
             @NonNull BluetoothLeAudioContentMetadata contentMetadata) {
         Objects.requireNonNull(contentMetadata, "contentMetadata cannot be null");
+        if (mCallbackExecutorMap.isEmpty()) {
+            throw new IllegalStateException("No callback was ever registered");
+        }
 
         if (DBG) log("updateBroadcast");
         final IBluetoothLeAudio service = getService();
@@ -682,6 +691,9 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi
     public void updateBroadcast(
             int broadcastId, @NonNull BluetoothLeBroadcastSettings broadcastSettings) {
         Objects.requireNonNull(broadcastSettings, "broadcastSettings cannot be null");
+        if (mCallbackExecutorMap.isEmpty()) {
+            throw new IllegalStateException("No callback was ever registered");
+        }
 
         if (DBG) log("updateBroadcast");
         final IBluetoothLeAudio service = getService();
@@ -721,6 +733,10 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi
             android.Manifest.permission.BLUETOOTH_PRIVILEGED,
     })
     public void stopBroadcast(int broadcastId) {
+        if (mCallbackExecutorMap.isEmpty()) {
+            throw new IllegalStateException("No callback was ever registered");
+        }
+
         if (DBG) log("disableBroadcastMode");
         final IBluetoothLeAudio service = getService();
         if (service == null) {