diff --git a/oauth_common.admin.inc b/oauth_common.admin.inc
index 0215c27..db9a5b4 100644
--- a/oauth_common.admin.inc
+++ b/oauth_common.admin.inc
@@ -16,6 +16,13 @@ function _oauth_common_admin() {
     '#default_value' => variable_get('oauth_common_request_token_lifetime', 7200),
   );
 
+  $form['oauth_common_login_path'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Login page'),
+    '#description' => t('Specify an alternative login page. This is useful when, for example, you want to show a mobile-enhanced login page.'),
+    '#default_value' => variable_get('oauth_common_login_path', OAUTH_COMMON_LOGIN_PATH),
+  );
+
   $form['#validate'][] = '_oauth_common_admin_settings_validate';
 
   return system_settings_form($form);
diff --git a/oauth_common.module b/oauth_common.module
index c0a130f..44d2e13 100644
--- a/oauth_common.module
+++ b/oauth_common.module
@@ -1,12 +1,11 @@
 <?php
 
 define('OAUTH_COMMON_CODE_BRANCH', '6.x-3.x');
-
 define('OAUTH_COMMON_TOKEN_TYPE_REQUEST', 0);
 define('OAUTH_COMMON_TOKEN_TYPE_ACCESS', 1);
-
 define('OAUTH_COMMON_VERSION_1', 1); // The original 1.0 spec
 define('OAUTH_COMMON_VERSION_1_RFC', 2); // The RFC 5849 1.0 spec
+define('OAUTH_COMMON_LOGIN_PATH', 'user/login');
 
 //TODO: Don't act as a provider by default.
 //TODO: Check for other functions with breaking changes
diff --git a/oauth_common.pages.inc b/oauth_common.pages.inc
index 7ffee8d..e42e832 100644
--- a/oauth_common.pages.inc
+++ b/oauth_common.pages.inc
@@ -212,7 +212,10 @@ function oauth_common_form_authorize() {
   else {
     $query = $_GET;
     unset($query['q']); // why are there so few q's?
-    drupal_goto('user/login', array(
+    // Allow this path to be set to something other than the standard
+    // login page in case the site has a mobile-enhanced login page.
+    $path = variable_get('oauth_common_login_path', OAUTH_COMMON_LOGIN_PATH);
+    drupal_goto($path, array(
       'destination' => url('oauth/authorize', array(
         'query' => $query,
       )),
