diff --git a/src/org/sflphone/client/HomeActivity.java b/src/org/sflphone/client/HomeActivity.java
index 7c435fc4e3b0caf5d9db96ba1ff6964722fc6d2c..4fc6e9c72f743b335c59dcc6a88ccdfb00cb5a54 100644
--- a/src/org/sflphone/client/HomeActivity.java
+++ b/src/org/sflphone/client/HomeActivity.java
@@ -575,7 +575,6 @@ public class HomeActivity extends Activity implements DialingFragment.Callbacks,
             }
         } else {
             createNotRegisteredDialog().show();
-            ;
         }
 
     }
@@ -629,10 +628,10 @@ public class HomeActivity extends Activity implements DialingFragment.Callbacks,
 
     @Override
     public void toggleDrawer() {
-        if (!mContactDrawer.isExpanded())
-            mContactDrawer.expandPane(0.3f);
-        else if (mContactDrawer.isAnchored())
+        if (mContactDrawer.isAnchored())
             mContactDrawer.expandPane();
+        else if (!mContactDrawer.isExpanded())
+            mContactDrawer.expandPane(0.3f);
         else
             mContactDrawer.collapsePane();
     }
diff --git a/src/org/sflphone/model/BubbleModel.java b/src/org/sflphone/model/BubbleModel.java
index 9e2a5c412e81174c06933977d6b1d4de11ab4bfb..100a4551fa60d1d175189d31502b032cc7f2e2da 100644
--- a/src/org/sflphone/model/BubbleModel.java
+++ b/src/org/sflphone/model/BubbleModel.java
@@ -90,7 +90,7 @@ public class BubbleModel {
         // to avoid garbage collection glitches caused by iterator objects.
         for (int i = 0, n = bubbles.size(); i < n; i++) {
 
-            if (i > bubbles.size()) { // prevent updating a bubble already removed
+            if (i >= bubbles.size()) { // prevent updating a bubble already removed
                 return;
             }
             Bubble b = bubbles.get(i);
diff --git a/src/org/sflphone/utils/MediaManager.java b/src/org/sflphone/utils/MediaManager.java
index b1963a45413c2a61a1eeb7781264b73def18d3d1..82d7554d63ae9b3b3caebc0b9db5730d356b5eef 100644
--- a/src/org/sflphone/utils/MediaManager.java
+++ b/src/org/sflphone/utils/MediaManager.java
@@ -38,7 +38,7 @@ public class MediaManager implements OnAudioFocusChangeListener {
     public void obtainAudioFocus(boolean requestSpeakerOn) {
         mAudioManager.requestAudioFocus(this, Compatibility.getInCallStream(false), AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
         mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
-        if(requestSpeakerOn){
+        if(requestSpeakerOn && !mAudioManager.isWiredHeadsetOn()){
             RouteToSpeaker();
         }
     }