diff --git a/app/assets/javascripts/discourse/controllers/create_account_controller.js b/app/assets/javascripts/discourse/controllers/create_account_controller.js
index 470d507d7..498b7a484 100644
--- a/app/assets/javascripts/discourse/controllers/create_account_controller.js
+++ b/app/assets/javascripts/discourse/controllers/create_account_controller.js
@@ -27,7 +27,7 @@ Discourse.CreateAccountController = Discourse.Controller.extend(Discourse.ModalF
   }.property('nameValidation.failed', 'emailValidation.failed', 'usernameValidation.failed', 'passwordValidation.failed', 'formSubmitted'),
 
   passwordRequired: function() {
-    return this.blank('authOptions.auth_provider');
+    return (this.blank('authOptions.auth_provider') || this.blank('authOptions.email_valid') || !this.get('authOptions.email_valid'));
   }.property('authOptions.auth_provider'),
 
   passwordInstructions: function() {
diff --git a/lib/auth/facebook_authenticator.rb b/lib/auth/facebook_authenticator.rb
index c070eaa25..c7592cac6 100644
--- a/lib/auth/facebook_authenticator.rb
+++ b/lib/auth/facebook_authenticator.rb
@@ -12,6 +12,7 @@ class Auth::FacebookAuthenticator < Auth::Authenticator
     facebook_hash = session_info[:facebook]
 
     result.email = email = session_info[:email]
+    result.email_valid = true
     result.name = name = facebook_hash[:name]
 
     result.extra_data = facebook_hash