diff --git a/resources/static/dialog/controllers/is_this_your_computer.js b/resources/static/dialog/controllers/is_this_your_computer.js
index ed0d43d5ec7140e2bb230bee00b4d3671bb4bb9c..dcdc35cd8ee93fbbfa57646381b7a590544a75a0 100644
--- a/resources/static/dialog/controllers/is_this_your_computer.js
+++ b/resources/static/dialog/controllers/is_this_your_computer.js
@@ -30,11 +30,12 @@ BrowserID.Modules.IsThisYourComputer = (function() {
     },
 
     yes: function() {
-      alert("yes!");
+      storage.usersComputer.setConfirmed(network.userid());
+      this.close("cancel_state");
     },
 
     no: function() {
-      alert("no!");
+      this.close("cancel_state");
     }
 
   });
diff --git a/resources/static/dialog/resources/state.js b/resources/static/dialog/resources/state.js
index d6f43115933b556cc0c650af34c2c4578b12f551..a6b47c7ebdf6352836f9a974c6e74ef9764bbfcd 100644
--- a/resources/static/dialog/resources/state.js
+++ b/resources/static/dialog/resources/state.js
@@ -17,7 +17,8 @@ BrowserID.State = (function() {
       addPrimaryUser = false,
       email,
       requiredEmail,
-      primaryVerificationInfo;
+      primaryVerificationInfo,
+      isYourComputerAsked = false;
 
   function startStateMachine() {
     var self = this,
@@ -78,11 +79,7 @@ BrowserID.State = (function() {
         });
       }
       else if (authenticated) {
-        if (storage.usersComputer.confirmed(network.userid())) {
-          publish("pick_email");
-        } else {
-          publish("is_this_your_computer");
-        }
+        publish("pick_email");
       } else {
         publish("authenticate");
       }
@@ -182,6 +179,12 @@ BrowserID.State = (function() {
     });
 
     subscribe("email_chosen", function(msg, info) {
+      if (!isYourComputerAsked &&
+          !storage.usersComputer.confirmed(network.userid())) {
+        isYourComputerAsked = true;
+        publish("is_this_your_computer", info);
+        return;
+      }
       info = info || {};
 
       var email = info.email,