diff --git a/plugins/export_ui/dart_tag_ui.class.php b/plugins/export_ui/dart_tag_ui.class.php
index b6a045d..89efbdf 100644
--- a/plugins/export_ui/dart_tag_ui.class.php
+++ b/plugins/export_ui/dart_tag_ui.class.php
@@ -110,4 +110,18 @@ class dart_tag_ui extends ctools_export_ui {
     return $header;
   }
 
+  /**
+   * Deletes exportable items from the database and deltes any blocks.
+   */
+  function delete_page($js, $input, $item) {
+    if ($item->block) {
+      db_delete('block')
+        ->condition('module', 'dart')
+        ->condition('delta', 'dart-tag-' . $item->machinename)
+        ->execute();
+    }
+
+    return parent::delete_page($js, $input, $item);
+  }
+
 }
diff --git a/tests/dart.test b/tests/dart.test
index 6401291..9830aea 100644
--- a/tests/dart.test
+++ b/tests/dart.test
@@ -152,13 +152,13 @@ class dartBaseTest extends DrupalWebTestCase {
   }
 }
 
-class dartDisplayTagTest extends dartBaseTest {
+class dartTagCRUDTest extends dartBaseTest {
   /**
    * Implements getInfo().
    */
   public static function getInfo() {
     return array(
-      'name' => t('Displaying DART Tags'),
+      'name' => t('DART Tag CRUD Operations'),
       'description' => t('Tests for displaying DART tags.'),
       'group' => t('DART'),
     );
@@ -179,4 +179,13 @@ class dartDisplayTagTest extends dartBaseTest {
     // $this->assertRaw('googletag.defineSlot("' . variable_get('dfp_network_id', '') . '/' . $tag->adunit . '", ' . dfp_format_size($tag->size) . ', "' . $tag->placeholder_id . '")', 'The ad slot with a very long machine name has been correctly defined in javascript.');
 
   }
+
+  function testDeleteTag() {
+    // Create a simple tag as a block and then delete it.
+    $tag = $this->createTag();
+    $this->drupalPost('admin/structure/dart_tags/list/' . $tag->machinename . '/delete', array(), t('Delete'));
+    $this->assertNoText(t('%machinename is not a valid DART tag.', array('%machinename' => $tag->machinename)), 'The deleted tag is not attempting to display as a block.');
+    $this->drupalGet('admin/structure/dart_tags/list');
+    $this->assertNoText($tag->name, 'The deleted tag does not appear in teh list of tags.');
+  }
 }
