diff --git a/fmapp2/src/com/caf/fmradio/FMRadio.java b/fmapp2/src/com/caf/fmradio/FMRadio.java
index 20b1133784296a9a3e0d52ac9c8eff55296e60f2..9c44addac4091f8b36e7d5765477812e768e62bc 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadio.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadio.java
@@ -3197,6 +3197,16 @@ public class FMRadio extends Activity
           Log.d(LOGTAG, "mServiceCallbacks.onA2DPConnectionstateChanged :");
           A2DPConnectionState(state);
       }
+      public void onFmAudioPathStarted() {
+          Log.d(LOGTAG, "mServiceCallbacks.onFmAudioPathStarted:");
+          mSpeakerButton.setClickable(true);
+          mMuteButton.setClickable(true);
+      }
+      public void onFmAudioPathStopped() {
+          Log.d(LOGTAG, "mServiceCallbacks.onFmAudioPathStopped:");
+          mSpeakerButton.setClickable(false);
+          mMuteButton.setClickable(false);
+      }
    };
 
     private void registerFMSettingListner() {
diff --git a/fmapp2/src/com/caf/fmradio/FMRadioService.java b/fmapp2/src/com/caf/fmradio/FMRadioService.java
index 188a0685c8be4236c2f76a252becad103d905dc0..02319976a4d9f81a85062beb70d11ec1ebd968fd 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadioService.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java
@@ -1012,7 +1012,7 @@ public class FMRadioService extends Service
         }
    };
 
-   private void startFM(){
+   private void startFM() {
        Log.d(LOGTAG, "In startFM");
        if(true == mAppShutdown) { // not to send intent to AudioManager in Shutdown
            return;
@@ -1065,12 +1065,22 @@ public class FMRadioService extends Service
        }
        mPlaybackInProgress = true;
        configureAudioDataPath(true);
+       try {
+           mCallbacks.onFmAudioPathStarted();
+       } catch(RemoteException e) {
+           e.printStackTrace();
+       }
    }
 
-   private void stopFM(){
+   private void stopFM() {
        Log.d(LOGTAG, "In stopFM");
        configureAudioDataPath(false);
        mPlaybackInProgress = false;
+       try {
+           mCallbacks.onFmAudioPathStopped();
+       } catch(RemoteException e) {
+           e.printStackTrace();
+       }
    }
 
    private void resetFM(){
diff --git a/fmapp2/src/com/caf/fmradio/FMStats.java b/fmapp2/src/com/caf/fmradio/FMStats.java
index 961f04b457a0cf0b94218bb673c1d72a33b5d43f..c035475b245b77d99737be43d4183d5df1050f2a 100644
--- a/fmapp2/src/com/caf/fmradio/FMStats.java
+++ b/fmapp2/src/com/caf/fmradio/FMStats.java
@@ -2719,6 +2719,12 @@ public class FMStats extends Activity  {
           public void onA2DPConnectionstateChanged(boolean state){
              Log.d(LOGTAG, "mServiceCallbacks.onA2DPConnectionstateChanged :");
           }
+          public void onFmAudioPathStarted() {
+             Log.d(LOGTAG, "mServiceCallbacks.onFmAudioPathStarted:");
+          }
+          public void onFmAudioPathStopped() {
+             Log.d(LOGTAG, "mServiceCallbacks.onFmAudioPathStopped:");
+          }
       };
       /* Radio Vars */
      private Handler mHandler = new Handler();
diff --git a/fmapp2/src/com/caf/fmradio/IFMRadioServiceCallbacks.aidl b/fmapp2/src/com/caf/fmradio/IFMRadioServiceCallbacks.aidl
index e6fded791bdd363d030c895f49d2e87ab7e05c7c..24aaa7001be7a5c70651f52056ccc9580934b14e 100644
--- a/fmapp2/src/com/caf/fmradio/IFMRadioServiceCallbacks.aidl
+++ b/fmapp2/src/com/caf/fmradio/IFMRadioServiceCallbacks.aidl
@@ -48,4 +48,6 @@ interface IFMRadioServiceCallbacks
   void onRecordingStarted();
   void onSeekNextStation();
   void onA2DPConnectionstateChanged(boolean state);
+  void onFmAudioPathStarted();
+  void onFmAudioPathStopped();
 }