diff --git a/modules/dblog/dblog.test b/modules/dblog/dblog.test
index ffd3e8a..313c506 100644
--- a/modules/dblog/dblog.test
+++ b/modules/dblog/dblog.test
@@ -191,7 +191,7 @@ class DBLogTestCase extends DrupalWebTestCase {
     $edit['pass[pass1]'] = $pass;
     $edit['pass[pass2]'] = $pass;
     $edit['status'] = 1;
-    $this->drupalPost('admin/people/create', $edit, t('Create new account'));
+    $this->drupalPost('admin/people/create', $edit, 'create');
     $this->assertResponse(200);
     // Retrieve user object.
     $user = user_load_by_name($name);
diff --git a/modules/locale/locale.test b/modules/locale/locale.test
index 6dad7e0..eafd8cc 100644
--- a/modules/locale/locale.test
+++ b/modules/locale/locale.test
@@ -1443,7 +1443,7 @@ class LocaleUserCreationTest extends DrupalWebTestCase {
       'pass[pass2]' => $username,
     );
 
-    $this->drupalPost($langcode . '/admin/people/create', $edit, t('Create new account'));
+    $this->drupalPost($langcode . '/admin/people/create', $edit, 'create');
 
     $user = user_load_by_name($username);
     $this->assertEqual($user->language, $langcode, t('New user has correct language set.'));
@@ -1460,7 +1460,7 @@ class LocaleUserCreationTest extends DrupalWebTestCase {
       'mail' => $this->randomName(4) . '@example.com',
     );
 
-    $this->drupalPost($langcode . '/user/register', $edit, t('Create new account'));
+    $this->drupalPost($langcode . '/user/register', $edit, 'create');
 
     $user = user_load_by_name($username);
     $this->assertEqual($user->language, $langcode, t('New user has correct language set.'));
diff --git a/modules/trigger/trigger.test b/modules/trigger/trigger.test
index 9a9a4ba..d96ce13 100644
--- a/modules/trigger/trigger.test
+++ b/modules/trigger/trigger.test
@@ -584,7 +584,7 @@ class TriggerOtherTestCase extends TriggerWebTestCase {
     $edit['pass[pass1]'] = $pass;
     $edit['pass[pass2]'] = $pass;
     $edit['status'] = 1;
-    $this->drupalPost('admin/people/create', $edit, t('Create new account'));
+    $this->drupalPost('admin/people/create', $edit, 'create');
 
     // Verify that the action variable has been set.
     $this->assertTrue(variable_get($action_id, FALSE), t('Check that creating a user triggered the test action.'));
diff --git a/modules/user/user.admin.inc b/modules/user/user.admin.inc
index 4789e7e..401797b 100644
--- a/modules/user/user.admin.inc
+++ b/modules/user/user.admin.inc
@@ -9,7 +9,6 @@ function user_admin($callback_arg = '') {
   $op = isset($_POST['op']) ? $_POST['op'] : $callback_arg;
 
   switch ($op) {
-    case t('Create new account'):
     case 'create':
       $build['user_register'] = drupal_get_form('user_register_form');
       break;
@@ -85,15 +84,18 @@ function user_filter_form() {
   );
   $form['filters']['status']['actions']['submit'] = array(
     '#type' => 'submit',
+    '#name' => (count($session) ? 'refine' : 'filter'),
     '#value' => (count($session) ? t('Refine') : t('Filter')),
   );
   if (count($session)) {
     $form['filters']['status']['actions']['undo'] = array(
       '#type' => 'submit',
+      '#name' => 'undo',
       '#value' => t('Undo'),
     );
     $form['filters']['status']['actions']['reset'] = array(
       '#type' => 'submit',
+      '#name' => 'reset',
       '#value' => t('Reset'),
     );
   }
@@ -107,11 +109,11 @@ function user_filter_form() {
  * Process result from user administration filter form.
  */
 function user_filter_form_submit($form, &$form_state) {
-  $op = $form_state['values']['op'];
+  $op = $form_state['triggering_element']['#name'];
   $filters = user_filters();
   switch ($op) {
-    case t('Filter'):
-    case t('Refine'):
+    case 'filter':
+    case 'refine':
       // Apply every filter that has a choice selected other than 'any'.
       foreach ($filters as $filter => $options) {
         if (isset($form_state['values'][$filter]) && $form_state['values'][$filter] != '[any]') {
@@ -124,13 +126,13 @@ function user_filter_form_submit($form, &$form_state) {
         }
       }
       break;
-    case t('Undo'):
+    case 'undo':
       array_pop($_SESSION['user_overview_filter']);
       break;
-    case t('Reset'):
+    case 'reset':
       $_SESSION['user_overview_filter'] = array();
       break;
-    case t('Update'):
+    case 'update':
       return;
   }
 
@@ -859,6 +861,7 @@ function user_admin_roles($form, $form_state) {
   );
   $form['add'] = array(
     '#type' => 'submit',
+    '#name' => 'add_role',
     '#value' => t('Add role'),
     '#validate' => array('user_admin_role_validate'),
     '#submit' => array('user_admin_role_submit'),
@@ -958,10 +961,12 @@ function user_admin_role($form, $form_state, $role) {
   $form['actions'] = array('#type' => 'actions');
   $form['actions']['submit'] = array(
     '#type' => 'submit',
+    '#name' => 'save_role',
     '#value' => t('Save role'),
   );
   $form['actions']['delete'] = array(
     '#type' => 'submit',
+    '#name' => 'delete_role',
     '#value' => t('Delete role'),
     '#submit' => array('user_admin_role_delete_submit'),
   );
@@ -973,14 +978,14 @@ function user_admin_role($form, $form_state, $role) {
  * Form validation handler for the user_admin_role() form.
  */
 function user_admin_role_validate($form, &$form_state) {
-  if (!empty($form_state['values']['name'])) {
-    if ($form_state['values']['op'] == t('Save role')) {
+  if (!empty($form_state['triggering_element']['#name'])) {
+    if ($form_state['triggering_element']['#name'] == 'save_role') {
       $role = user_role_load_by_name($form_state['values']['name']);
       if ($role && $role->rid != $form_state['values']['rid']) {
         form_set_error('name', t('The role name %name already exists. Choose another role name.', array('%name' => $form_state['values']['name'])));
       }
     }
-    elseif ($form_state['values']['op'] == t('Add role')) {
+    elseif ($form_state['triggering_element']['#name'] == 'add_role') {
       if (user_role_load_by_name($form_state['values']['name'])) {
         form_set_error('name', t('The role name %name already exists. Choose another role name.', array('%name' => $form_state['values']['name'])));
       }
@@ -996,11 +1001,11 @@ function user_admin_role_validate($form, &$form_state) {
  */
 function user_admin_role_submit($form, &$form_state) {
   $role = (object) $form_state['values'];
-  if ($form_state['values']['op'] == t('Save role')) {
+  if ($form_state['triggering_element']['#name'] == 'save_role') {
     user_role_save($role);
     drupal_set_message(t('The role has been renamed.'));
   }
-  elseif ($form_state['values']['op'] == t('Add role')) {
+  elseif ($form_state['triggering_element']['#name'] == 'add_role') {
     user_role_save($role);
     drupal_set_message(t('The role has been added.'));
   }
diff --git a/modules/user/user.test b/modules/user/user.test
index 6ecbfac..62029cf 100644
--- a/modules/user/user.test
+++ b/modules/user/user.test
@@ -32,7 +32,7 @@ class UserRegistrationTestCase extends DrupalWebTestCase {
     $edit = array();
     $edit['name'] = $name = $this->randomName();
     $edit['mail'] = $mail = $edit['name'] . '@example.com';
-    $this->drupalPost('user/register', $edit, t('Create new account'));
+    $this->drupalPost('user/register', $edit, 'create');
     $this->assertText(t('A welcome message with further instructions has been sent to your e-mail address.'), t('User registered successfully.'));
     $accounts = user_load_multiple(array(), array('name' => $name, 'mail' => $mail));
     $new_user = reset($accounts);
@@ -43,7 +43,7 @@ class UserRegistrationTestCase extends DrupalWebTestCase {
     $edit = array();
     $edit['name'] = $name = $this->randomName();
     $edit['mail'] = $mail = $edit['name'] . '@example.com';
-    $this->drupalPost('user/register', $edit, t('Create new account'));
+    $this->drupalPost('user/register', $edit, 'create');
     $accounts = user_load_multiple(array(), array('name' => $name, 'mail' => $mail));
     $new_user = reset($accounts);
     $this->assertFalse($new_user->status, t('New account is blocked until approved by an administrator.'));
@@ -62,13 +62,13 @@ class UserRegistrationTestCase extends DrupalWebTestCase {
     // Try entering a mismatching password.
     $edit['pass[pass1]'] = '99999.0';
     $edit['pass[pass2]'] = '99999';
-    $this->drupalPost('user/register', $edit, t('Create new account'));
+    $this->drupalPost('user/register', $edit, 'create');
     $this->assertText(t('The specified passwords do not match.'), t('Typing mismatched passwords displays an error message.'));
 
     // Enter a correct password.
     $edit['pass[pass1]'] = $new_pass = $this->randomName();
     $edit['pass[pass2]'] = $new_pass;
-    $this->drupalPost('user/register', $edit, t('Create new account'));
+    $this->drupalPost('user/register', $edit, 'create');
     $accounts = user_load_multiple(array(), array('name' => $name, 'mail' => $mail));
     $new_user = reset($accounts);
     $this->assertText(t('Registration successful. You are now logged in.'), t('Users are logged in after registering.'));
@@ -81,7 +81,7 @@ class UserRegistrationTestCase extends DrupalWebTestCase {
     $edit['mail'] = $mail = $edit['name'] . '@example.com';
     $edit['pass[pass1]'] = $pass = $this->randomName();
     $edit['pass[pass2]'] = $pass;
-    $this->drupalPost('user/register', $edit, t('Create new account'));
+    $this->drupalPost('user/register', $edit, 'create');
     $this->assertText(t('Thank you for applying for an account. Your account is currently pending approval by the site administrator.'), t('Users are notified of pending approval'));
 
     // Try to login before administrator approval.
@@ -123,13 +123,13 @@ class UserRegistrationTestCase extends DrupalWebTestCase {
     $edit['mail'] = $duplicate_user->mail;
 
     // Attempt to create a new account using an existing e-mail address.
-    $this->drupalPost('user/register', $edit, t('Create new account'));
+    $this->drupalPost('user/register', $edit, 'create');
     $this->assertText(t('The e-mail address @email is already registered.', array('@email' => $duplicate_user->mail)), t('Supplying an exact duplicate email address displays an error message'));
 
     // Attempt to bypass duplicate email registration validation by adding spaces.
     $edit['mail'] = '   ' . $duplicate_user->mail . '   ';
 
-    $this->drupalPost('user/register', $edit, t('Create new account'));
+    $this->drupalPost('user/register', $edit, 'create');
     $this->assertText(t('The e-mail address @email is already registered.', array('@email' => $duplicate_user->mail)), t('Supplying a duplicate email address with added whitespace displays an error message'));
   }
 
@@ -154,7 +154,7 @@ class UserRegistrationTestCase extends DrupalWebTestCase {
     $edit['mail'] = $mail = $edit['name'] . '@example.com';
     $edit['pass[pass1]'] = $new_pass = $this->randomName();
     $edit['pass[pass2]'] = $new_pass;
-    $this->drupalPost(NULL, $edit, t('Create new account'));
+    $this->drupalPost(NULL, $edit, 'create');
 
     // Check user fields.
     $accounts = user_load_multiple(array(), array('name' => $name, 'mail' => $mail));
@@ -208,17 +208,17 @@ class UserRegistrationTestCase extends DrupalWebTestCase {
     $edit['mail'] = $mail = $edit['name'] . '@example.com';
     // Missing input in required field.
     $edit['test_user_field[und][0][value]'] = '';
-    $this->drupalPost(NULL, $edit, t('Create new account'));
+    $this->drupalPost(NULL, $edit, 'create');
     $this->assertRaw(t('@name field is required.', array('@name' => $instance['label'])), t('Field validation error was correctly reported.'));
     // Invalid input.
     $edit['test_user_field[und][0][value]'] = '-1';
-    $this->drupalPost(NULL, $edit, t('Create new account'));
+    $this->drupalPost(NULL, $edit, 'create');
     $this->assertRaw(t('%name does not accept the value -1.', array('%name' => $instance['label'])), t('Field validation error was correctly reported.'));
 
     // Submit with valid data.
     $value = rand(1, 255);
     $edit['test_user_field[und][0][value]'] = $value;
-    $this->drupalPost(NULL, $edit, t('Create new account'));
+    $this->drupalPost(NULL, $edit, 'create');
     // Check user fields.
     $accounts = user_load_multiple(array(), array('name' => $name, 'mail' => $mail));
     $new_user = reset($accounts);
@@ -246,7 +246,7 @@ class UserRegistrationTestCase extends DrupalWebTestCase {
       $edit['test_user_field[und][2][value]'] = $value + 2;
       $edit['name'] = $name = $this->randomName();
       $edit['mail'] = $mail = $edit['name'] . '@example.com';
-      $this->drupalPost(NULL, $edit, t('Create new account'));
+      $this->drupalPost(NULL, $edit, 'create');
       // Check user fields.
       $accounts = user_load_multiple(array(), array('name' => $name, 'mail' => $mail));
       $new_user = reset($accounts);
@@ -1581,7 +1581,7 @@ class UserCreateTestCase extends DrupalWebTestCase {
         'pass[pass2]' => $pass,
         'notify' => $notify,
       );
-      $this->drupalPost('admin/people/create', $edit, t('Create new account'));
+      $this->drupalPost('admin/people/create', $edit, 'create');
 
       if ($notify) {
         $this->assertText(t('A welcome message with further instructions has been e-mailed to the new user @name.', array('@name' => $edit['name'])), 'User created');
@@ -2031,7 +2031,7 @@ class UserRolesAssignmentTestCase extends DrupalWebTestCase {
       'pass[pass2]' => $pass,
       "roles[$rid]" => $rid,
     );
-    $this->drupalPost('admin/people/create', $edit, t('Create new account'));
+    $this->drupalPost('admin/people/create', $edit, 'create');
     $this->assertText(t('Created a new user account for !name.', array('!name' => $edit['name'])));
     // Get the newly added user.
     $account = user_load_by_name($edit['name']);
