diff --git a/resources/static/test/cases/dialog/js/modules/provision_primary_user.js b/resources/static/test/cases/dialog/js/modules/provision_primary_user.js
index f5464f9164042a724020a86deaec3742329cdea8..9a54c32b07747888a71f216ea96d1ec011e62dfa 100644
--- a/resources/static/test/cases/dialog/js/modules/provision_primary_user.js
+++ b/resources/static/test/cases/dialog/js/modules/provision_primary_user.js
@@ -10,6 +10,7 @@
       bid = BrowserID,
       storage = bid.Storage,
       user = bid.User,
+      network = bid.Network,
       register = bid.TestHelpers.register,
       xhr = bid.Mocks.xhr,
       mediator = bid.Mediator,
@@ -55,47 +56,53 @@
   });
 
   asyncTest("create controller with all fields specified, user authenticated with primary - expected user provisioned", function() {
-    provisioning.setStatus(provisioning.AUTHENTICATED);
+    network.withContext(function() {
+      provisioning.setStatus(provisioning.AUTHENTICATED);
 
-    mediator.subscribe("primary_user_provisioned", function(msg, info) {
-      ok(info.assertion, "assertion available");
-      equal(info.email, "unregistered@testuser.com", "email available");
-      start();
-    });
+      mediator.subscribe("primary_user_provisioned", function(msg, info) {
+        ok(info.assertion, "assertion available");
+        equal(info.email, "unregistered@testuser.com", "email available");
+        start();
+      });
 
-    createController({
-      email: "unregistered@testuser.com",
-      auth: "https://auth_url",
-      prov: "https://prov_url"
+      createController({
+        email: "unregistered@testuser.com",
+        auth: "https://auth_url",
+        prov: "https://prov_url"
+      });
     });
   });
 
   asyncTest("create controller with all fields specified, user not authenticated with primary - expected user must authenticate", function() {
-    provisioning.setStatus(provisioning.NOT_AUTHENTICATED);
+    network.withContext(function() {
+      provisioning.setStatus(provisioning.NOT_AUTHENTICATED);
 
-    mediator.subscribe("primary_user_unauthenticated", function(msg, info) {
-      equal(info.auth_url, "https://auth_url", "primary information fetched");
-      start();
-    });
+      mediator.subscribe("primary_user_unauthenticated", function(msg, info) {
+        equal(info.auth_url, "https://auth_url", "primary information fetched");
+        start();
+      });
 
-    createController({
-      email: "unregistered@testuser.com",
-      auth: "https://auth_url",
-      prov: "https://prov_url"
+      createController({
+        email: "unregistered@testuser.com",
+        auth: "https://auth_url",
+        prov: "https://prov_url"
+      });
     });
   });
 
   asyncTest("create controller with missing auth/prov, user authenticated with primary - expected to request provisioning info from backend, user provisioned", function() {
-    xhr.useResult("primary");
-    provisioning.setStatus(provisioning.AUTHENTICATED);
+    network.withContext(function() {
+      xhr.useResult("primary");
+      provisioning.setStatus(provisioning.AUTHENTICATED);
 
-    mediator.subscribe("primary_user_provisioned", function(msg, info) {
-      equal(info.email, "unregistered@testuser.com", "user is provisioned after requesting info from backend");
-      start();
-    });
+      mediator.subscribe("primary_user_provisioned", function(msg, info) {
+        equal(info.email, "unregistered@testuser.com", "user is provisioned after requesting info from backend");
+        start();
+      });
 
-    createController({
-      email: "unregistered@testuser.com"
+      createController({
+        email: "unregistered@testuser.com"
+      });
     });
   });
 }());
diff --git a/resources/static/test/mocks/provisioning.js b/resources/static/test/mocks/provisioning.js
index a752881df1b345843f3ab388b465ff43b90d5905..c6413958b7a7a7035ced34448294ba968d9b5bf4 100644
--- a/resources/static/test/mocks/provisioning.js
+++ b/resources/static/test/mocks/provisioning.js
@@ -34,11 +34,13 @@ BrowserID.Mocks.Provisioning = (function() {
       if (cb) cb();
     }
     else if(newStatus === Provisioning.AUTHENTICATED) {
-      if (!keypair)
+      if (!keypair) {
         jwcrypto.generateKeypair({algorithm: "DS", keysize: 256}, function(err, kp) {
           keypair = kp;
           if (cb) cb();
         });
+      }
+      else if (cb) cb();
     }
   };