diff --git a/core/modules/user/user.module b/core/modules/user/user.module
index 3ae6154..0d88278 100644
--- a/core/modules/user/user.module
+++ b/core/modules/user/user.module
@@ -1051,6 +1051,12 @@ function user_menu() {
     'access arguments' => array(1, 'delete'),
     'file' => 'user.pages.inc',
   );
+  $items['user/edit'] = array(
+    'title' => 'My account',
+    'page callback' => 'user_edit_page_redirect',
+    'access callback' => TRUE,
+    'type' => MENU_CALLBACK,
+  );
   $items['user/%user/edit'] = array(
     'title' => 'Edit',
     'page callback' => 'entity_get_form',
@@ -1709,6 +1715,32 @@ function user_delete_multiple(array $uids) {
 }
 
 /**
+ * Page callback wrapper for user_profile_form().
+ */
+function user_edit_page_redirect() {
+  global $user;
+  // The login form is served to anonymous users.
+  if ($user->uid == 0) {
+    // If present, rewrite the destination parameter to 
+    // avoid a redirect after the login form.
+    if (isset($_GET['destination'])) {
+      $_GET['destination'] = 'user/edit?destination=' . $_GET['destination'];
+    }
+    return drupal_get_form('user_login_form');
+  }
+
+  // Preserve the destination parameter (drupal_goto() redirects 
+  // to destination if present).
+  $options = array();
+  if (isset($_GET['destination'])) {
+    $options['query'] = array('destination' => $_GET['destination']);
+    unset($_GET['destination']);
+  }
+
+  drupal_goto('user/' . $user->uid . '/edit', $options);
+}
+
+/**
  * Page callback wrapper for user_view().
  */
 function user_view_page($account) {
