diff --git a/fmapp2/src/com/caf/fmradio/FMRadio.java b/fmapp2/src/com/caf/fmradio/FMRadio.java
index e7f1c51d5c5b9ff29256fefcdf51f5810ccd7c19..20b1133784296a9a3e0d52ac9c8eff55296e60f2 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadio.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadio.java
@@ -1680,20 +1680,29 @@ public class FMRadio extends Activity
    private void disableRadio() {
       boolean bStatus = false;
       boolean bSpeakerPhoneOn = isSpeakerEnabled();
+
       cancelSearch();
       endSleepTimer();
+
+      // Stop if there is an ongoing Record
       if(mRecording) {
-         //Stop if there is an ongoing Record
          stopRecording();
       }
+
       if(mService != null) {
          try {
             bStatus = mService.fmOff();
-            enableRadioOnOffUI();
             if (bStatus == false) {
                 mCommandFailed = CMD_FMOFF;
                 Log.e(LOGTAG, " mService.fmOff failed");
             }
+
+            enableRadioOnOffUI();
+            // restore default wired headset on FM power off
+            if (bSpeakerPhoneOn) {
+               mService.enableSpeaker(false);
+               mSpeakerButton.setImageResource(R.drawable.btn_earphone);
+            }
          }catch (RemoteException e) {
             e.printStackTrace();
          }