diff --git a/fmapp2/src/com/caf/fmradio/FMRadioService.java b/fmapp2/src/com/caf/fmradio/FMRadioService.java
index 853347c..f9d9b7f 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadioService.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java
@@ -842,9 +842,9 @@
                     mKeyActionDownCount = 0;
                 }
                 return true;
-            } else if((event != null) && (event.getKeyCode() == KeyEvent.KEYCODE_MEDIA_PAUSE)
+            } else if((event != null) && (event.getKeyCode() == KeyEvent.KEYCODE_MEDIA_PLAY)
                        && (key_action == KeyEvent.ACTION_DOWN)) {
-                Log.d(LOGTAG, "SessionCallback: MEDIA_PAUSE");
+                Log.d(LOGTAG, "SessionCallback: MEDIA_PLAY");
                 if (mServiceInUse ) {
                     fmOn();
                     try {
@@ -856,9 +856,10 @@
                     }
                     return true;
                 }
-            } else if ((event != null) && (event.getKeyCode() == KeyEvent.KEYCODE_MEDIA_PLAY)
-                       && (key_action == KeyEvent.ACTION_DOWN)) {
-                Log.d(LOGTAG, "SessionCallback: MEDIA_PLAY");
+            } else if ((event != null) && ((event.getKeyCode() == KeyEvent.KEYCODE_MEDIA_PAUSE) ||
+                                           (event.getKeyCode() == KeyEvent.KEYCODE_MEDIA_STOP))
+                                       && (key_action == KeyEvent.ACTION_DOWN)) {
+                Log.d(LOGTAG, "SessionCallback: MEDIA_PAUSE");
                 if (isFmOn()){
                     //FM should be off when Headset hook pressed.
                     fmOff();
