diff --git a/modules/simpletest/tests/form.test b/modules/simpletest/tests/form.test
index e7ae9de..92424a1 100644
--- a/modules/simpletest/tests/form.test
+++ b/modules/simpletest/tests/form.test
@@ -1182,6 +1182,41 @@ class FormsRebuildTestCase extends DrupalWebTestCase {
 }
 
 /**
+ * Tests form redirection.
+ *
+ * @see drupal_f
+ */
+class FormsRedirectTestCase extends DrupalWebTestCase {
+  public static function getInfo() {
+    return array(
+      'name' => 'Form Redirect',
+      'description' => 'Tests functionality of drupal_redirect_form',
+      'group' => 'Form API',
+    );
+  }
+
+  function setUp() {
+    parent::setUp('form_test');
+  }
+
+  function testRedirect() {
+    $edit = array(
+      'redirection' => $this->randomName(),
+    );
+    $this->drupalPost('form-test/redirect', $edit, t('Submit'));
+    $this->assertUrl($edit['redirection'], array(), t('Take sure that basic redirect works'));
+
+
+    // Test the FALSE redirect behaviour.
+    $edit = array(
+      'redirection' => FALSE,
+    );
+    $this->drupalPost('form-test/redirect', $edit, t('Submit'));
+    $this->assertUrl('form-test/redirect', array(), t('When redirect is set to FALSE, there should be no redirection'));
+  }
+}
+
+/**
  * Test the programmatic form submission behavior.
  */
 class FormsProgrammaticTestCase extends DrupalWebTestCase {
diff --git a/modules/simpletest/tests/form_test.module b/modules/simpletest/tests/form_test.module
index 00be7d2..925ebda 100644
--- a/modules/simpletest/tests/form_test.module
+++ b/modules/simpletest/tests/form_test.module
@@ -160,6 +160,14 @@ function form_test_menu() {
     'type' => MENU_CALLBACK,
   );
 
+  $items['form-test/redirect'] = array(
+    'title' => 'Redirect test',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('form_test_redirect'),
+    'access callback' => TRUE,
+    'type' => MENU_CALLBACK,
+  );
+
   if (module_exists('node')) {
     $items['form-test/two-instances-of-same-form'] = array(
       'title' => 'AJAX test with two form instances',
@@ -1527,6 +1535,29 @@ function form_test_clicked_button_submit($form, &$form_state) {
 }
 
 /**
+ * Form builder to detect form redirect.
+ */
+function form_test_redirect($form) {
+  $form['redirection'] = array(
+    '#title' => t('Redirect modus'),
+    '#type' => 'textfield',
+  );
+  $form['submit'] = array(
+    '#type' => 'submit',
+    '#value' => t('Submit'),
+  );
+
+  return $form;
+}
+
+/**
+ * Form submit handler to test different redirect behaviours.
+ */
+function form_test_redirect_submit(&$form, &$form_state) {
+  $form_state['redirect'] = $form_state['values']['redirection'];
+}
+
+/**
  * Implements hook_form_FORM_ID_alter() for the registration form.
  */
 function form_test_form_user_register_form_alter(&$form, &$form_state) {
