diff --git rules/tests/rules.test rules/tests/rules.test
index b1548e1..0166625 100644
--- rules/tests/rules.test
+++ rules/tests/rules.test
@@ -1096,6 +1096,54 @@ class RulesIntegrationTestCase extends DrupalWebTestCase {
     $rule->execute($node);
     RulesLog::logger()->checkLog();
     $this->assertEqual(array_values($node->field_tags[LANGUAGE_NONE]), array(0 => array('tid' => $term2->tid)), 'Term removed and added from a node.');
+
+    // Test using the taxonomy term reference field on a term object.
+    $field_name = drupal_strtolower($this->randomName() . '_field_name');
+    $field = field_create_field(array('field_name' => $field_name, 'type' => 'text', 'cardinality' => 4));
+    $instance = array(
+      'field_name' => $field_name,
+      'entity_type' => 'taxonomy_term',
+      'bundle' => 'tags', // Machine name of vocabulary.
+      'label' => $this->randomName() . '_label',
+      'description' => $this->randomName() . '_description',
+      'weight' => mt_rand(0, 127),
+      'settings' => array(
+        'text_processing' => FALSE,
+      ),
+      'widget' => array(
+        'type' => 'taxonomy_autocomplete',
+        'weight' => -4,
+      ),
+      'display' => array(
+        'default' => array(
+          'type' => 'taxonomy_term_reference_link',
+          'weight' => 10,
+        ),
+      ),
+    );
+    field_create_instance($instance);
+
+    $term1 = entity_metadata_entity_create('taxonomy_term', array(
+      'name' => $this->randomName(),
+      'vid' => 1,
+    ))->save();
+    $term2 = entity_metadata_entity_create('taxonomy_term', array(
+      'name' => $this->randomName(),
+      'vid' => 1,
+    ))->save();
+
+    // Test asserting the term reference field and using it afterwards.
+    $rule = rule(array('taxonomy_term' => array('type' => 'taxonomy_term')));
+    $rule->condition('entity_has_field', array('entity:select' => 'taxonomy_term', 'field' => $field_name));
+    // Add $term_wrapped to $term1 using the term reference field.
+    $field_name_ui = str_replace('_', '-', $field_name);
+    $rule->action('list_add', array('list:select' => 'taxonomy_term:' . $field_name_ui, 'item' => $term2));
+    $rule->execute($term1);
+    $rule->integrityCheck();
+
+    $tid = $term2->getIdentifier();
+    RulesLog::logger()->checkLog();
+    $this->assertEqual(array_values($term1->{$field_name}[LANGUAGE_NONE]), array(0 => array('tid' => $tid)), 'Entity has field conditions evaluted.');
   }
 
   /**
