diff --git a/resources/static/pages/js/manage_account.js b/resources/static/pages/js/manage_account.js
index c6f85634a123582a6c0b80420911385ac1fbfe04..d1b35a5c4f44289ff53f365a4eea963187a463b0 100644
--- a/resources/static/pages/js/manage_account.js
+++ b/resources/static/pages/js/manage_account.js
@@ -79,16 +79,19 @@ BrowserID.manageAccount = (function() {
 
     dom.setInner(list, "");
 
-    // Set up to use mustache style templating, the normal Django style blows
-    // up the node templates
-    _.templateSettings = {
-        interpolate : /\{\{(.+?)\}\}/g
-    };
-    var template = dom.getInner("#templateUser");
+    function substitute(text, values, re) {
+      re = re || /\{\{([^\{\}]+)\}\}/g;
+      return String(text).replace(re, function(m, name) {
+        return (values[name] != null) ? values[name] : '';
+      });
+    }
+
+    var template = $("#templateUser").html();
 
     _(emails).each(function(item) {
-      var e = item.address,
-          identity = _.template(template, { email: e });
+      var e = item.address;
+      var id = e.replace('@', '_').replace('.', '_', 'g');
+      var identity = substitute(template, { email: e, id: id });
 
       var idEl = dom.appendTo(identity, list),
           deleteButton = dom.getDescendentElements(".delete", idEl);
diff --git a/resources/views/index.ejs b/resources/views/index.ejs
index 600183a560fc6ba8717b5e1cca8ad93b8dd1f084..b4d6f2b65dcb9827bce45cbb329d03eb2dcedee6 100644
--- a/resources/views/index.ejs
+++ b/resources/views/index.ejs
@@ -25,8 +25,8 @@
   -->
 
   <script type="text/html" id="templateUser">
-    <li class="identity cf" id="{{ email.replace('@', '_').replace('.', '_') }}">
-      <div class="email">{{ email }}</div>
+    <li class="identity cf" id="{{id}}">
+      <div class="email">{{email}}</div>
       <button class="delete"><%- gettext('remove') %></button>
     </li>
   </script>