diff --git a/entity.api.php b/entity.api.php
index 0bd57d1..b4cc3ef 100644
--- a/entity.api.php
+++ b/entity.api.php
@@ -317,6 +317,9 @@ function entity_metadata_hook_entity_info() {
  *       an example.
  *     - translatable: (optional) Whether the property is translatable, defaults
  *       to FALSE.
+ *     - 'entity token': (optional) If Entity tokens module is enabled, the
+ *       module provides a token for the property if one does not exist yet.
+ *       Specify FALSE to disable this functionality for the property.
  *   - bundles: An array keyed by bundle name containing further metadata
  *     related to the bundles only. This array may contain the key 'properties'
  *     with an array of info about the bundle specific properties, structured in
diff --git a/entity_token.tokens.inc b/entity_token.tokens.inc
index e6d7819..734f4d2 100644
--- a/entity_token.tokens.inc
+++ b/entity_token.tokens.inc
@@ -49,7 +49,7 @@ function entity_token_token_info_alter(&$info) {
     foreach (entity_get_all_property_info($type) as $name => $property) {
       $name = str_replace('_', '-', $name);
 
-      if (!isset($info['tokens'][$token_type][$name]) && (!isset($property['type']) || in_array($property['type'], $valid_types))) {
+      if (!isset($info['tokens'][$token_type][$name]) && (!isset($property['type']) || in_array($property['type'], $valid_types)) && (!isset($property['entity token']) || $property['entity token'])) {
         $info['tokens'][$token_type][$name] = array(
           'name' => $property['label'],
           'type' => isset($property['type']) ? array_search($property['type'], $valid_types) : 'text',
