diff --git a/multiform.module b/multiform.module
index f7e8483..05335cf 100644
--- a/multiform.module
+++ b/multiform.module
@@ -130,7 +130,11 @@ function multiform_get_form() {
     // We forced $form_state['no_redirect'] to TRUE above, so unset it in order
     // to allow the redirection to proceed.
     unset($redirect['no_redirect']);
-    drupal_redirect_form($redirect);
+    $errors = form_get_errors();
+    // Do not redirect with errors.
+    if(empty($errors)) {
+      drupal_redirect_form($redirect);
+    }
   }
   return $form;
 }
diff --git a/tests/multiform.test b/tests/multiform.test
index bc7dd30..e1c4e58 100644
--- a/tests/multiform.test
+++ b/tests/multiform.test
@@ -97,7 +97,7 @@ class MultiformTestCase extends DrupalWebTestCase {
 
     // Send second form's required field.
     $this->drupalPost(NULL, $second_text, 'save');
-    $this->assertNoText('multiform_test2_2multiform_test2_submit_button');
+    $this->assertNoText('multiform_test2_1multiform_test2_submit_button');
     $this->assertText('test1 field is required.');
   }
 
