diff --git a/resources/static/common/js/helpers.js b/resources/static/common/js/helpers.js
index 67278ec086a7de97c5651c83527554f1e5c56a94..e9d034fad9980ce55a0150e004e2affba2bbe720 100644
--- a/resources/static/common/js/helpers.js
+++ b/resources/static/common/js/helpers.js
@@ -10,18 +10,6 @@
       validation = bid.Validation,
       helpers = bid.Helpers = bid.Helpers || {};
 
-  function extend(target) {
-    var mixins = [].slice.call(arguments, 1);
-
-    for(var index = 0, mixin; mixin = mixins[index]; ++index) {
-      for(var key in mixin) {
-        target[key] = mixin[key];
-      }
-    }
-
-    return target;
-  }
-
   function getAndValidateEmail(target) {
     var email = (dom.getInner(target) || "").trim();
 
@@ -86,16 +74,7 @@
     }
   }
 
-  extend(helpers, {
-    /**
-     * Extend an object with the properties of another object.  Overwrites
-     * properties if they already exist.
-     * @method extend
-     * @param {object} target
-     * @param {object} source
-     */
-    extend: extend,
-
+  _.extend(helpers, {
     /**
      * Get an email from a DOM element and validate it.
      * @method getAndValidateEmail
diff --git a/resources/static/dialog/js/misc/helpers.js b/resources/static/dialog/js/misc/helpers.js
index 949eac7a2f400aad97af58ff0edca8ffdfc4adef..ea2157153159bbc700989f3e730b1c07ab0c21e9 100644
--- a/resources/static/dialog/js/misc/helpers.js
+++ b/resources/static/dialog/js/misc/helpers.js
@@ -158,7 +158,7 @@
 
   helpers.Dialog = helpers.Dialog || {};
 
-  helpers.extend(helpers.Dialog, {
+  _.extend(helpers.Dialog, {
     getAssertion: getAssertion,
     authenticateUser: authenticateUser,
     createUser: createUser,
diff --git a/resources/static/dialog/js/modules/required_email.js b/resources/static/dialog/js/modules/required_email.js
index 5653913acbdcfed2d12e8c7b68941dc1bff1e5ee..09d184e5d4d47baccc32527dd25063a1aeefde5e 100644
--- a/resources/static/dialog/js/modules/required_email.js
+++ b/resources/static/dialog/js/modules/required_email.js
@@ -19,7 +19,7 @@ BrowserID.Modules.RequiredEmail = (function() {
       secondaryAuth;
 
   function closePrimaryUser(callback) {
-    this.close("primary_user", helpers.extend(primaryInfo, {
+    this.close("primary_user", _.extend(primaryInfo, {
       email: email,
       requiredEmail: true,
       add: !!auth_level
@@ -212,7 +212,7 @@ BrowserID.Modules.RequiredEmail = (function() {
       }, self.getErrorDialog(errors.checkAuthentication, ready));
 
       function showTemplate(templateData) {
-        templateData = helpers.extend({
+        templateData = _.extend({
           email: email,
           verify: false,
           signin: false,
diff --git a/resources/static/test/cases/common/js/helpers.js b/resources/static/test/cases/common/js/helpers.js
index 8d9c97ebd3e2302334c1dac627539d7088bb3d16..3f12e46148f4124fe985d6ebe7737bfcdc1a490d 100644
--- a/resources/static/test/cases/common/js/helpers.js
+++ b/resources/static/test/cases/common/js/helpers.js
@@ -21,27 +21,6 @@
     }
   });
 
-  test("extend", function() {
-    var target = {};
-    var retval = helpers.extend(target, {
-      field1: true,
-      field2: "value"
-    });
-
-    equal(target.field1, true, "target extended");
-    equal(target.field2, "value", "target extended");
-
-    strictEqual(retval, target, "the updated target is returned");
-  });
-
-  test("extend with multiple mixins", function() {
-    var target = {};
-
-    helpers.extend(target, { field1: true }, { field2: "value" });
-    equal(target.field1, true, "target extended");
-    equal(target.field2, "value", "target extended");
-  });
-
   test("getAndValidateEmail with valid email", function() {
     $("#email").val("testuser@testuser.com");
     var email = helpers.getAndValidateEmail("#email");