diff --git a/src/com/android/settings/vpn/AuthenticationActor.java b/src/com/android/settings/vpn/AuthenticationActor.java
index 2584fbd..a05cfa7 100644
--- a/src/com/android/settings/vpn/AuthenticationActor.java
+++ b/src/com/android/settings/vpn/AuthenticationActor.java
@@ -195,8 +195,8 @@
         if (bindService(c)) {
             // wait for a second, let status propagate
             wait(c, ONE_SECOND);
+            mContext.unbindService(c);
         }
-        mContext.unbindService(c);
     }
 
     private boolean bindService(ServiceConnection c) {
diff --git a/src/com/android/settings/vpn/VpnSettings.java b/src/com/android/settings/vpn/VpnSettings.java
index 08dd8dd..1446164 100644
--- a/src/com/android/settings/vpn/VpnSettings.java
+++ b/src/com/android/settings/vpn/VpnSettings.java
@@ -932,7 +932,7 @@
     // managing status check in a background thread
     private class StatusChecker {
         private Set<VpnProfile> mQueue = new HashSet<VpnProfile>();
-        private boolean mPaused;
+        private boolean mPaused = true;
         private ConditionVariable mThreadCv = new ConditionVariable();
 
         void onPause() {
@@ -941,7 +941,6 @@
         }
 
         synchronized void onResume() {
-            mPaused = false;
             start();
         }
 
@@ -961,7 +960,9 @@
             return p;
         }
 
-        private void start() {
+        private synchronized void start() {
+            if (!mPaused) return;
+            mPaused = false;
             mThreadCv.close();
             new Thread(new Runnable() {
                 public void run() {
