diff --git a/src/Form/IndexForm.php b/src/Form/IndexForm.php
index b4cd5f3..a676dae 100644
--- a/src/Form/IndexForm.php
+++ b/src/Form/IndexForm.php
@@ -497,6 +497,26 @@ class IndexForm extends EntityForm {
   /**
    * {@inheritdoc}
    */
+  public function actions(array $form, FormStateInterface $form_state) {
+    $actions = parent::actions($form, $form_state);
+
+    if ($this->getEntity()->isNew()) {
+      $submit_callbacks = $actions['submit']['#submit'];
+      $submit_callbacks[] = '::redirectToFieldsForm';
+      $actions['save_edit'] = array(
+        '#type' => 'submit',
+        '#value' => $this->t('Save and edit'),
+        '#submit' => $submit_callbacks,
+        '#button_type' => 'primary',
+      );
+    }
+
+    return $actions;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
   public function submitForm(array &$form, FormStateInterface $form_state) {
     parent::submitForm($form, $form_state);
 
@@ -564,10 +584,12 @@ class IndexForm extends EntityForm {
   }
 
   /**
-   * {@inheritdoc}
+   * Form submission handler for the 'save and edit' action.
+   *
+   * Redirects to the index's "Fields" config form.
    */
-  public function delete(array $form, FormStateInterface $form_state) {
-    $form_state->setRedirect('entity.search_api_index.delete', array('search_api_index' => $this->getEntity()->id()));
+  public function redirectToFieldsForm(array $form, FormStateInterface $form_state) {
+    $form_state->setRedirectUrl($this->getEntity()->urlInfo('fields'));
   }
 
 }
diff --git a/src/Tests/IntegrationTest.php b/src/Tests/IntegrationTest.php
index 1b4a5c0..5560771 100644
--- a/src/Tests/IntegrationTest.php
+++ b/src/Tests/IntegrationTest.php
@@ -164,6 +164,15 @@ class IntegrationTest extends WebTestBase {
       // Since none of the other tests would work, bail at this point.
       throw new SearchApiException();
     }
+
+    // Test the "Save and edit" button.
+    $index2_id = 'test_index2';
+    $edit['id'] = $index2_id;
+    $this->drupalPostForm($settings_path, $edit, $this->t('Save and edit'));
+
+    $this->assertText($this->t('The index was successfully saved.'));
+    $index = entity_load('search_api_index', $index2_id, TRUE);
+    $this->assertUrl($index->urlInfo('fields'), array(), 'Correct redirect to index fields page.');
   }
 
   /**
