diff --git a/core/modules/condition/condition.module b/core/modules/condition/condition.module
index b13a8d3..6b38c54 100644
--- a/core/modules/condition/condition.module
+++ b/core/modules/condition/condition.module
@@ -39,6 +39,20 @@ function condition_menu() {
     'access arguments' => array('administer conditions'),
     'type' => MENU_CALLBACK,
   );
+  $items['admin/config/system/conditions/%/configure/%/edit'] = array(
+    'title' => 'New Condition Group',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('condition_group_configure_condition_ajax', 4, 6),
+    'access arguments' => array('administer conditions'),
+    'type' => MENU_CALLBACK,
+  );
+  $items['admin/config/system/conditions/%/configure/%/delete'] = array(
+    'title' => 'New Condition Group',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('condition_group_delete_condition', 4, 6),
+    'access arguments' => array('administer conditions'),
+    'type' => MENU_CALLBACK,
+  );
   return $items;
 }
 
@@ -92,17 +106,24 @@ function condition($plugin_id, $options = array()) {
   return drupal_container()->get('plugin.manager.condition')->createInstance($plugin_id, $options);
 }
 
-function condition_group_configure_condition_ajax($form, &$form_state, $group_id) {
+function condition_group_configure_condition_ajax($form, &$form_state, $group_id, $row = NULL) {
   if (!empty($form_state['input']['condition_type'])) {
-    $condition = $form_state['input']['condition_type'];
-    if (!in_array($condition, array_keys(drupal_container()->get('plugin.manager.condition')->getDefinitions()))) {
+    $plugin_id = $form_state['input']['condition_type'];
+    if (!in_array($plugin_id, array_keys(drupal_container()->get('plugin.manager.condition')->getDefinitions()))) {
       throw new \Exception("You must choose a valid condition plugin.");
     }
     $form['condition_type'] = array(
       '#type' => 'hidden',
-      '#value' => $condition,
+      '#value' => $plugin_id,
     );
-    return condition($condition)->form($form, $form_state);
+    return condition($plugin_id)->form($form, $form_state);
+  }
+  if (!is_null($row)) {
+    $entity = drupal_container()->get('user.tempstore')->get('condition_group')->get($form_state['build_info']['args'][0]);
+    $plugin_info = $entity->conditions[$row];
+    $plugin_id = array_keys($plugin_info);
+    $plugin_id = $plugin_id[0];
+    return condition($plugin_id, $plugin_info[$plugin_id])->form($form, $form_state);
   }
 }
 
@@ -116,7 +137,23 @@ function condition_group_configure_condition_ajax_submit($form, &$form_state) {
   if (!$entity instanceof Entity) {
     // @todo throw an exception.
   }
-  $entity->conditions[] = array($form_state['values']['condition_plugin']->getPluginId() => $form_state['values']['condition_plugin']->getConfig());
+  if (isset($form_state['build_info']['args'][1]) && !is_null($form_state['build_info']['args'][1])) {
+    $entity->conditions[$form_state['build_info']['args'][1]] = array($form_state['values']['condition_plugin']->getPluginId() => $form_state['values']['condition_plugin']->getConfig());
+  }
+  else {
+    $entity->conditions[] = array($form_state['values']['condition_plugin']->getPluginId() => $form_state['values']['condition_plugin']->getConfig());
+  }
+  drupal_container()->get('user.tempstore')->get('condition_group')->set($form_state['build_info']['args'][0], $entity);
+  $form_state['redirect'] = "admin/config/system/conditions/{$form_state['build_info']['args'][0]}/configure";
+}
+
+function condition_group_delete_condition($form, &$form_state, $group_id, $row) {
+  return confirm_form($form, t('Are you sure you want to delete this condition from the group?'), "admin/config/system/conditions/{$form_state['build_info']['args'][0]}/configure");
+}
+
+function condition_group_delete_condition_submit($form, &$form_state) {
+  $entity = drupal_container()->get('user.tempstore')->get('condition_group')->get($form_state['build_info']['args'][0]);
+  unset($entity->conditions[$form_state['build_info']['args'][1]]);
   drupal_container()->get('user.tempstore')->get('condition_group')->set($form_state['build_info']['args'][0], $entity);
   $form_state['redirect'] = "admin/config/system/conditions/{$form_state['build_info']['args'][0]}/configure";
 }
diff --git a/core/modules/condition/lib/Drupal/condition/ConditionGroupConfigureFormController.php b/core/modules/condition/lib/Drupal/condition/ConditionGroupConfigureFormController.php
index 71d3b19..ca4261c 100644
--- a/core/modules/condition/lib/Drupal/condition/ConditionGroupConfigureFormController.php
+++ b/core/modules/condition/lib/Drupal/condition/ConditionGroupConfigureFormController.php
@@ -34,14 +34,29 @@ public function form(array $form, array &$form_state, EntityInterface $group) {
     }
     $group_conditions = $group->conditions;
     $configured_conditions = array();
-    foreach ($group_conditions as $condition) {
+    $uri = $group->uri();
+    foreach ($group_conditions as $row => $condition) {
       foreach ($condition as $condition_type => $config) {
+        $build = array(
+          '#type' => 'operations',
+          '#links' => $this->getOperations($group, $row),
+        );
         $configured_condition = condition($condition_type, $config);
         $configured_conditions[] = array(
-          $conditions[$condition_type]['label'], $configured_condition->summary()
+          $conditions[$condition_type]['label'],
+          $configured_condition->summary(),
+          drupal_render($build)
         );
       }
     }
+    $form['items'] = array(
+      '#type' => 'markup',
+      '#prefix' => '<div id="configured-conditions">',
+      '#suffix' => '</div>',
+      '#theme' => 'table',
+      '#header' => array('Type', 'Summary', 'Operations'),
+      '#rows' => $configured_conditions,
+    );
     $form['condition_type'] = array(
       '#type' => 'select',
       '#title' => t('Configure a condition.'),
@@ -58,14 +73,6 @@ public function form(array $form, array &$form_state, EntityInterface $group) {
         'effect' => 'fade',
       )
     );
-    $form['items'] = array(
-      '#type' => 'markup',
-      '#prefix' => '<div id="configured-conditions">',
-      '#suffix' => '</div>',
-      '#theme' => 'table',
-      '#header' => array('Type', 'Summary'),
-      '#rows' => $configured_conditions,
-    );
 
     return $form;
   }
@@ -77,4 +84,29 @@ public function validate(array $form, array &$form_state) {
 
   }
 
+  public function getOperations(EntityInterface $entity, $row) {
+    $uri = $entity->uri();
+    $operations['edit'] = array(
+      'title' => t('Edit'),
+      'href' => $uri['path'] . '/configure/' . $row . '/edit',
+      'options' => $uri['options'],
+      'weight' => 10,
+      'ajax' => array(
+        'dialog' => array('modal' =>TRUE, 'width' => '750px'),
+        'path' => $uri['path'] . '/configure/' . $row . '/edit',
+      )
+    );
+    $operations['delete'] = array(
+      'title' => t('Delete'),
+      'href' => $uri['path'] . '/configure/' . $row . '/delete',
+      'options' => $uri['options'],
+      'weight' => 100,
+      'ajax' => array(
+        'dialog' => array('modal' =>TRUE, 'width' => '750px'),
+        'path' => $uri['path'] . '/configure/' . $row . '/delete',
+      )
+    );
+    return $operations;
+  }
+
 }
diff --git a/core/modules/node/lib/Drupal/node/Plugin/Core/Condition/NodeType.php b/core/modules/node/lib/Drupal/node/Plugin/Core/Condition/NodeType.php
index 5ec6094..3824506 100644
--- a/core/modules/node/lib/Drupal/node/Plugin/Core/Condition/NodeType.php
+++ b/core/modules/node/lib/Drupal/node/Plugin/Core/Condition/NodeType.php
@@ -28,7 +28,6 @@
  *   }
  * )
  */
-
 class NodeType extends ConditionPluginBase {
 
   /**
@@ -72,7 +71,13 @@ public function summary() {
       $bundles = $this->configuration['bundles'];
       $last = array_pop($bundles);
       $bundles = implode(', ', $bundles);
-      return t('The node bundle is @bundles or @last', array('@bundles' => $bundles, '@last' => $last));
+      return t('The node bundle is @not@bundles or @last',
+        array(
+          '@bundles' => $bundles,
+          '@last' => $last,
+          '@not' => $this->configuration['negate'] ? 'not ' : ''
+        )
+      );
     }
     $bundle = array_pop($this->configuration['bundles']);
     return t('The node bundle is @not@bundle',
