diff --git a/core/modules/block/lib/Drupal/block/BlockFormController.php b/core/modules/block/lib/Drupal/block/BlockFormController.php
index 6041b2c..fdb72fe 100644
--- a/core/modules/block/lib/Drupal/block/BlockFormController.php
+++ b/core/modules/block/lib/Drupal/block/BlockFormController.php
@@ -287,6 +287,14 @@ public function submit(array $form, array &$form_state) {
   }
 
   /**
+   * {@inheritdoc}
+   */
+  public function delete(array $form, array &$form_state) {
+    parent::delete($form, $form_state);
+    $form_state['redirect'] = 'admin/structure/block/manage/' . $this->entity->id() . '/delete';
+  }
+
+  /**
    * Generates a unique machine name for a block.
    *
    * @param \Drupal\block\BlockInterface $block
diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockTest.php
index 7ef3176..404b436 100644
--- a/core/modules/block/lib/Drupal/block/Tests/BlockTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/BlockTest.php
@@ -135,6 +135,13 @@ function testBlock() {
     // is my_block_instance_name.
     $xpath = $this->buildXPathQuery('//div[@id=:id]/*', array(':id' => 'block-' . strtr(strtolower($block['machine_name']), '-', '_')));
     $this->assertNoFieldByXPath($xpath, FALSE, 'Block found in no regions.');
+
+    // Test deleting the block from the edit form.
+    $this->drupalGet('admin/structure/block/manage/' . $block['theme'] . '.' . $block['machine_name']);
+    $this->drupalPost(NULL, array(), t('Delete'));
+    $this->assertRaw(t('Are you sure you want to delete the block %name?', array('%name' => $block['settings[label]'])));
+    $this->drupalPost(NULL, array(), t('Delete'));
+    $this->assertRaw(t('The block %name has been removed.', array('%name' => $block['settings[label]'])));
   }
 
   /**
