diff --git a/app/assets/stylesheets/pages/login.scss b/app/assets/stylesheets/pages/login.scss
index e6d9be5185d404739db61a6ca2eccc913c243ec5..bdb13bee1788ff6e1bc856d59057c299da73564e 100644
--- a/app/assets/stylesheets/pages/login.scss
+++ b/app/assets/stylesheets/pages/login.scss
@@ -53,6 +53,7 @@
       margin: 0 0 10px;
     }
 
+
     .login-footer {
       margin-top: 10px;
 
@@ -246,3 +247,19 @@
     padding: 65px; // height of footer + bottom padding of email confirmation link
   }
 }
+
+// For sign in pane only, to improve tab order, the following removes the submit button from
+// normal document flow and pins it to the bottom of the form. For context, see !6867 & !6928
+
+.login-box {
+  .new_user {
+    position: relative;
+    padding-bottom: 35px;
+  }
+
+  .move-submit-down {
+    position: absolute;
+    width: 100%;
+    bottom: 0;
+  }
+}
diff --git a/app/views/devise/sessions/_new_base.html.haml b/app/views/devise/sessions/_new_base.html.haml
index a96b579c59329c1c20b11ef9680e342799ed9208..525e7d99d7188a4e3c79cf96fbed2aefe0eb6c82 100644
--- a/app/views/devise/sessions/_new_base.html.haml
+++ b/app/views/devise/sessions/_new_base.html.haml
@@ -5,6 +5,8 @@
   %div.form-group
     = f.label :password
     = f.password_field :password, class: "form-control bottom", required: true, title: "This field is required."
+  %div.submit-container.move-submit-down
+    = f.submit "Sign in", class: "btn btn-save"
   - if devise_mapping.rememberable?
     .remember-me.checkbox
       %label{for: "user_remember_me"}
@@ -12,5 +14,3 @@
         %span Remember me
       .pull-right
         = link_to "Forgot your password?", new_password_path(resource_name)
-  %div.submit-container
-    = f.submit "Sign in", class: "btn btn-save"