diff --git a/resources/static/dialog/controllers/authenticate.js b/resources/static/dialog/controllers/authenticate.js
index ac413aa99a82cb3fd6573580dee2a04d4e83e99c..c316e55a5e5822825c2ad2bb69f1b32a6bf106fa 100644
--- a/resources/static/dialog/controllers/authenticate.js
+++ b/resources/static/dialog/controllers/authenticate.js
@@ -43,6 +43,7 @@ BrowserID.Modules.Authenticate = (function() {
 
     if (!email) return;
 
+    dom.setAttr('#email', 'disabled', 'disabled');
     if(info && info.type) {
       onAddressInfo(info);
     }
@@ -54,6 +55,7 @@ BrowserID.Modules.Authenticate = (function() {
 
     function onAddressInfo(info) {
       addressInfo = info;
+      dom.removeAttr('#email', 'disabled');
 
       if(info.type === "primary") {
         self.close("primary_user", info, info);
diff --git a/resources/static/pages/signup.js b/resources/static/pages/signup.js
index 3fef51badbfe646ad8f2d9ec523afff178dfd896..d7d4049ba49380eddc94045312655fd0685d1c5f 100644
--- a/resources/static/pages/signup.js
+++ b/resources/static/pages/signup.js
@@ -99,15 +99,17 @@ BrowserID.signUp = (function() {
           self = this;
 
       if (email) {
-
+        dom.setAttr('#email', 'disabled', 'disabled');
         user.isEmailRegistered(email, function(isRegistered) {
           if(isRegistered) {
+            dom.removeAttr('#email', 'disabled');
             $('#registeredEmail').html(email);
             showNotice(".alreadyRegistered");
             oncomplete && oncomplete(false);
           }
           else {
             user.addressInfo(email, function(info) {
+              dom.removeAttr('#email', 'disabled');
               if(info.type === "primary") {
                 createPrimaryUser.call(self, info, oncomplete);
               }