diff --git a/src/com/android/settings/wifi/WpsDialog.java b/src/com/android/settings/wifi/WpsDialog.java
index 2a93884..662d477 100644
--- a/src/com/android/settings/wifi/WpsDialog.java
+++ b/src/com/android/settings/wifi/WpsDialog.java
@@ -27,7 +27,6 @@
 import android.net.wifi.WpsInfo;
 import android.os.Bundle;
 import android.os.Handler;
-import android.os.Message;
 import android.view.View;
 import android.widget.Button;
 import android.widget.ProgressBar;
@@ -45,6 +44,8 @@
 public class WpsDialog extends AlertDialog {
 
     private final static String TAG = "WpsDialog";
+    private static final String DIALOG_STATE = "android:dialogState";
+    private static final String DIALOG_MSG_STRING = "android:dialogMsg";
 
     private View mView;
     private TextView mTextView;
@@ -64,6 +65,7 @@
 
     private Context mContext;
     private Handler mHandler = new Handler();
+    private String mMsgString = "";
 
     private enum DialogState {
         WPS_INIT,
@@ -128,6 +130,25 @@
                 handleEvent(context, intent);
             }
         };
+        setCanceledOnTouchOutside(false);
+    }
+
+    @Override
+    public Bundle onSaveInstanceState () {
+        Bundle bundle  = super.onSaveInstanceState();
+        bundle.putString(DIALOG_STATE, mDialogState.toString());
+        bundle.putString(DIALOG_MSG_STRING, mMsgString.toString());
+        return bundle;
+    }
+
+    @Override
+    public void onRestoreInstanceState(Bundle savedInstanceState) {
+        if (savedInstanceState != null) {
+            super.onRestoreInstanceState(savedInstanceState);
+            DialogState dialogState = mDialogState.valueOf(savedInstanceState.getString(DIALOG_STATE));
+            String msg = savedInstanceState.getString(DIALOG_MSG_STRING);
+            updateDialog(dialogState, msg);
+        }
     }
 
     @Override
@@ -207,6 +228,7 @@
             return;
         }
         mDialogState = state;
+        mMsgString = msg;
 
         mHandler.post(new Runnable() {
                 @Override
