diff --git a/src/Entity/JobItem.php b/src/Entity/JobItem.php
index b47caec..09149b4 100644
--- a/src/Entity/JobItem.php
+++ b/src/Entity/JobItem.php
@@ -571,6 +571,19 @@ class JobItem extends ContentEntityBase implements JobItemInterface {
   }
 
   /**
+   *
+   * @return boolean
+   */
+  public function isAbortable() {
+    if ($this->isActive() || $this->isNeedsReview()) {
+      return $this->isActive();
+    }
+    else {
+      return FALSE;
+    }
+  }
+
+  /**
    * {@inheritdoc}
    */
   public function isActive() {
diff --git a/src/Form/JobItemForm.php b/src/Form/JobItemForm.php
index 1117b85..91ec8f0 100644
--- a/src/Form/JobItemForm.php
+++ b/src/Form/JobItemForm.php
@@ -165,6 +165,14 @@ class JobItemForm extends TmgmtFormBase {
     $item = $this->entity;
 
     // Add the form actions as well.
+    $actions['abort_job_item'] = array(
+      '#type' => 'submit',
+      '#value' => t('Abort Item'),
+      '#redirect' => 'admin/tmgmt/items/' . $item->id() . '/abort',
+      '#submit' => array('tmgmt_submit_redirect'),
+      '#access' => $item->isAbortable(),
+      '#weight' => 20,
+    );
     $actions['accept'] = array(
       '#type' => 'submit',
       '#button_type' => 'primary',
diff --git a/src/Tests/TMGMTUiTest.php b/src/Tests/TMGMTUiTest.php
index b5a7e12..32b11e0 100644
--- a/src/Tests/TMGMTUiTest.php
+++ b/src/Tests/TMGMTUiTest.php
@@ -354,6 +354,8 @@ class TMGMTUiTest extends EntityTestBase {
     )));
     $end_rows = $this->xpath('//tbody/tr');
     $this->assertEqual(count($end_rows), 4);
+    $this->drupalPostForm('admin/tmgmt/items/' . $item4->id(), array(), t('Abort Item'));
+    $this->drupalPostForm(NULL, array(), t('Confirm'));
   }
 
   /**
