diff --git a/resources/static/dialog/controllers/actions.js b/resources/static/dialog/controllers/actions.js
index bd2725383de366afee6137f3be1b4b030c3ad932..b984c738d5b324ae491cb86a840a24ce91acca5d 100644
--- a/resources/static/dialog/controllers/actions.js
+++ b/resources/static/dialog/controllers/actions.js
@@ -172,10 +172,6 @@ BrowserID.Modules.Actions = (function() {
 
     doVerifyPrimaryUser: function(info) {
       startService("verify_primary_user", info);
-    },
-
-    doPrimaryUserVerified: function() {
-      // XXX we've gotta do something here too.
     }
   });
 
diff --git a/resources/static/dialog/resources/helpers.js b/resources/static/dialog/resources/helpers.js
index 28d45ca23144a02566e23ce0b3f4096347528790..58c848a98a59336091df2d90d9c2d0473b5e29b7 100644
--- a/resources/static/dialog/resources/helpers.js
+++ b/resources/static/dialog/resources/helpers.js
@@ -118,9 +118,7 @@
           // XXX Is this status possible?
           break;
         case "primary.verified":
-          self.close("primary_user_verified", {
-            email: email
-          });
+          self.close("primary_user_verified", info);
           complete(true);
           break;
         case "primary.verify":
diff --git a/resources/static/dialog/resources/state_machine.js b/resources/static/dialog/resources/state_machine.js
index c7fc2a42d40da52507a93fe5168437b154e49166..76c8522bb501579e9e7dd191bc2ab0700ad6799d 100644
--- a/resources/static/dialog/resources/state_machine.js
+++ b/resources/static/dialog/resources/state_machine.js
@@ -147,7 +147,7 @@
     });
 
     subscribe("primary_user_verified", function(msg, info) {
-      gotoState("doPrimaryUserVerified", info);
+      mediator.publish("assertion_generated", info);
     });
 
     subscribe("primary_verify_user", function(msg, info) {
@@ -194,7 +194,7 @@
     subscribe("assertion_generated", function(msg, info) {
       self.success = true;
       if (info.assertion !== null) {
-        gotoState("doAssertionGenerated", info.assertion);
+        gotoState("doAssertionGenerated", info);
       }
       else {
         gotoState("doPickEmail");
diff --git a/resources/static/test/qunit/controllers/actions_unit_test.js b/resources/static/test/qunit/controllers/actions_unit_test.js
index 5e6aee990f6d9adde622e30659599062b4f4868c..0bea359fa70ec0a8e64f716f6134801925b77dd5 100644
--- a/resources/static/test/qunit/controllers/actions_unit_test.js
+++ b/resources/static/test/qunit/controllers/actions_unit_test.js
@@ -105,16 +105,6 @@
       }
     });
   });
-
-  asyncTest("doPrimaryUserVerified does something", function() {
-    createController({
-      ready: function() {
-        controller.doPrimaryUserVerified();
-        // XXX test something
-        start();
-      }
-    });
-  });
 */
 
 }());
diff --git a/resources/static/test/qunit/resources/state_machine_unit_test.js b/resources/static/test/qunit/resources/state_machine_unit_test.js
index 9453ffb7c87c54e3e0545eeee012ca833e464cd7..9481198fc9946fccf682ba23c82a59e7f23b3bd2 100644
--- a/resources/static/test/qunit/resources/state_machine_unit_test.js
+++ b/resources/static/test/qunit/resources/state_machine_unit_test.js
@@ -70,9 +70,9 @@
       this.requiredEmail = info.requiredEmail;
     },
 
-    doAssertionGenerated: function(assertion) {
+    doAssertionGenerated: function(info) {
       // XXX what a horrible horrible name for a function
-      this.assertion = assertion;
+      this.assertion = info.assertion;
     },
 
     doAddEmail: function() {
@@ -104,10 +104,6 @@
       this.error = true;
     },
 
-    doPrimaryUserVerified: function() {
-      this.primaryUserVerified = true;
-    },
-
     doVerifyPrimaryUser: function() {
       this.verifyPrimaryUser = true;
     }
@@ -163,10 +159,10 @@
   });
 
   // XXX make these and the messages for secondary match up so there is consistency.
-  test("primary_user_verified calls doPrimaryUserVerified", function() {
-    mediator.publish("primary_user_verified");
+  test("primary_user_verified calls doAssertionGenerated", function() {
+    mediator.publish("primary_user_verified", { email: "testuser@testuser.com", assertion: "assertion" });
 
-    ok(controllerMock.primaryUserVerified, "doPrimaryUserVerified called");
+    ok(controllerMock.assertion, "doAssertionGenerated called");
   });
 
   test("primary_verify_user calls doVerifyPrimaryUser", function() {