diff --git a/includes/entity.property.inc b/includes/entity.property.inc
index 7b1dac7..51c6180 100644
--- a/includes/entity.property.inc
+++ b/includes/entity.property.inc
@@ -251,7 +251,10 @@ function entity_property_verify_data_type($data, $type) {
       return TRUE;
     }
     elseif (isset($info[$type]['entity keys']['name'])) {
-      return entity_property_verify_data_type($data, 'token');
+      $key = $info[$type]['entity keys']['name'];
+      $property_info = entity_get_property_info($type);
+      $property_type = isset($property_info['properties'][$key]['type']) ? $property_info['properties'][$key]['type'] : 'token';
+      return entity_property_verify_data_type($data, $property_type);
     }
     return entity_property_verify_data_type($data, empty($info[$type]['fieldable']) ? 'text' : 'integer');
   }
