diff --git a/browserid/static/include.js b/browserid/static/include.js
index 6c89c18e53a818b8843ca31607e9dc868fb9464f..d695e5344b0da106304084f3e9360153312f63c9 100644
--- a/browserid/static/include.js
+++ b/browserid/static/include.js
@@ -8,8 +8,9 @@ if (!navigator.id) {
 if (!navigator.id.getVerifiedEmail || navigator.id._getVerifiedEmailIsShimmed)
 {
   var ipServer = "https://browserid.org";
+  var isMobile = navigator.userAgent.indexOf('Fennec/') != -1;
 
-  // local embedded copy of jschannel: http://github.com/mozilla/jschannel 
+  // local embedded copy of jschannel: http://github.com/mozilla/jschannel
   var Channel = (function() {
     // current transaction id, start out at a random *odd* number between 1 and a million
     // There is one current transaction counter id per page, and it's shared between
@@ -539,7 +540,7 @@ if (!navigator.id.getVerifiedEmail || navigator.id._getVerifiedEmailIsShimmed)
   function _open_window() {
       return window.open(
           ipServer + "/sign_in", "_mozid_signin",
-          "menubar=0,location=0,resizable=0,scrollbars=0,status=0,dialog=1,width=520,height=350");
+          isMobile ? undefined : "menubar=0,location=0,resizable=0,scrollbars=0,status=0,dialog=1,width=520,height=350");
   }
 
   navigator.id.getVerifiedEmail = function(callback) {
@@ -607,7 +608,7 @@ if (!navigator.id.getVerifiedEmail || navigator.id._getVerifiedEmailIsShimmed)
   navigator.id.getSpecificVerifiedEmail = function(email, token, onsuccess, onerror) {
     var doc = window.document;
 
-    // if we have a token, we should not be opening a window, rather we should be 
+    // if we have a token, we should not be opening a window, rather we should be
     // able to do this entirely through IFRAMEs
     if (token) {
         var iframe = _create_iframe(doc);
@@ -675,7 +676,7 @@ if (!navigator.id.getVerifiedEmail || navigator.id._getVerifiedEmailIsShimmed)
         cleanup();
       }
     });
-  };  
+  };
 
   navigator.id._getVerifiedEmailIsShimmed = true;
 }
diff --git a/primary/static/main.js b/primary/static/main.js
index e936ef800f6acea85c868718714c09e3cbc9860e..bf34d86184b0db360cf8a4978a21575e0b6c1e62 100644
--- a/primary/static/main.js
+++ b/primary/static/main.js
@@ -217,7 +217,9 @@
     $("#signin_submit").show().unbind('click').click(function() {
       if ($(this).hasClass('disabled')) return true;
 
-      var email = $("#authenticate_dialog input:eq(0)").val();
+      // make sure email is in lowercase, some mobile browsers like
+      // mobile Safari, start with capitalizing the first letter.
+      var email = $("#authenticate_dialog input:eq(0)").val().toLowerCase();
       var pass = $("#authenticate_dialog input:eq(1)").val();
 
       $.ajax({
@@ -309,7 +311,7 @@
   $("#sign_in").click(function() {
     runAuthenticateDialog(undefined);
   });
-  
+
   $("#sign_out").click(function() {
     $("#logged_in").hide();
     $("#logged_out").hide();
@@ -327,7 +329,7 @@
       }
     });
   });
-  
+
   refreshAuthStatus();
 
 /*  // 'Enter' in any input field triggers a click on the submit button
@@ -337,5 +339,5 @@
       e.preventDefault();
     }
   });
-  */      
+  */
 })();