diff --git a/browserid/static/dialog/controllers/authenticate_controller.js b/browserid/static/dialog/controllers/authenticate_controller.js
index 2108a9cb53308bc0fad0de298d6b6035a36fa0f8..37000048cdc82a35c2ab1dd0c852467d459969f2 100644
--- a/browserid/static/dialog/controllers/authenticate_controller.js
+++ b/browserid/static/dialog/controllers/authenticate_controller.js
@@ -125,6 +125,8 @@
         return;
       }
 
+      $("button.newuser").attr("disabled", "disabled");
+
       identities.createUser(email, function(keypair) {
         if(keypair) {
           self.close("user_staged", {
diff --git a/browserid/static/dialog/css/popup.css b/browserid/static/dialog/css/popup.css
index 935823440ae51190fc00b812fc4662e17dac279c..b6b43bfbe75dcce69c98ab702d3f21d02f344f9b 100644
--- a/browserid/static/dialog/css/popup.css
+++ b/browserid/static/dialog/css/popup.css
@@ -304,6 +304,11 @@ button {
     background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #76C2FF), color-stop(100%, #37A6FF));
 }
 
+button[disabled=disabled] {
+    opacity: .5;
+}
+
+
 button:active {
     background-color: #006EC6;
     border: 1px solid #003E70;