diff --git a/Common/src/com/googlecode/android_scripting/facade/EventFacade.java b/Common/src/com/googlecode/android_scripting/facade/EventFacade.java
index 0e666f5..7a4a77b 100644
--- a/Common/src/com/googlecode/android_scripting/facade/EventFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/EventFacade.java
@@ -196,7 +196,7 @@
                                 Log.v(String.format("Removing observer (%s) got event  (%s)",
                                         this,
                                         event));
-                                removeEventObserver(this);
+                                removeNamedEventObserver(eventName, this);
                             }
                             if (removeEvent)
                                 mEventQueue.remove(event);
@@ -411,10 +411,19 @@
      * @param observer the observer to remove
      */
     public void removeEventObserver(EventObserver observer) {
-        mNamedEventObservers.removeAll(observer);
         mGlobalEventObservers.remove(observer);
     }
 
+    /**
+     * Removes a named observer from the event listening queue.
+     * @param eventName the name of the event being listened to.
+     * @param observer the observer to remove
+     */
+    public void removeNamedEventObserver(String eventName, EventObserver observer) {
+        mNamedEventObservers.removeAll(eventName);
+        removeEventObserver(observer);
+    }
+
     public class BroadcastListener extends android.content.BroadcastReceiver {
         private EventFacade mParent;
         private boolean mEnQueue;
diff --git a/Common/src/com/googlecode/android_scripting/facade/bluetooth/BluetoothA2dpFacade.java b/Common/src/com/googlecode/android_scripting/facade/bluetooth/BluetoothA2dpFacade.java
index 5d87607..f1968d3 100644
--- a/Common/src/com/googlecode/android_scripting/facade/bluetooth/BluetoothA2dpFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/bluetooth/BluetoothA2dpFacade.java
@@ -51,7 +51,7 @@
     private final BroadcastReceiver mBluetoothA2dpReceiver;
     private final BluetoothAdapter mBluetoothAdapter;
 
-    private static boolean sIsA2dpReady = false;
+    private static volatile boolean sIsA2dpReady = false;
     private static BluetoothA2dp sA2dpProfile = null;
 
     public BluetoothA2dpFacade(FacadeManager manager) {
diff --git a/Common/src/com/googlecode/android_scripting/facade/telephony/SubscriptionManagerFacade.java b/Common/src/com/googlecode/android_scripting/facade/telephony/SubscriptionManagerFacade.java
index 7192b15..90ae1f5 100644
--- a/Common/src/com/googlecode/android_scripting/facade/telephony/SubscriptionManagerFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/telephony/SubscriptionManagerFacade.java
@@ -102,6 +102,13 @@
         return mSubscriptionManager.getActiveSubscriptionInfo(subId);
     }
 
+    @Rpc(description = "Return if AlwaysAllowMMSData is set correctly")
+    public boolean subscriptionSetAlwaysAllowMmsData(
+            @RpcParameter(name = "subId") Integer subId,
+            @RpcParameter(name = "alwaysAllow") Boolean alwaysAllow) {
+        return mSubscriptionManager.setAlwaysAllowMmsData(subId, alwaysAllow);
+    }
+
     @Rpc(description = "Set Data Roaming Enabled or Disabled for a particular Subscription ID")
     public Integer subscriptionSetDataRoaming(
             @RpcParameter(name = "roaming") Integer roaming,
