diff --git a/data_entity/data_entity.info.inc b/data_entity/data_entity.info.inc
index 8ea481d..a7c9e8d 100644
--- a/data_entity/data_entity.info.inc
+++ b/data_entity/data_entity.info.inc
@@ -15,13 +15,17 @@ function data_entity_entity_property_info() {
   $info = array();
   foreach ($tables as $table) {
     foreach ($table->table_schema['fields'] as $field_name => $field) {
-      $info['data_' . $table->name]['properties'][$field_name] = array(
-        'label' => !empty($table->meta['fields'][$field_name]['label']) ? $table->meta['fields'][$field_name]['label'] : $field_name,
-        'description' => 'Field of type ' . $field['type'] . '.',
-        'getter callback' => 'entity_property_verbatim_get',
-        'setter callback' => 'entity_property_verbatim_set',
-        'schema field' => $field_name,
-      );
+      // Deduce the property type from the schema.
+      if ($type = _entity_metadata_convert_schema_type($field['type'])) {
+        $info['data_' . $table->name]['properties'][$field_name] = array(
+          'label' => !empty($table->meta['fields'][$field_name]['label']) ? $table->meta['fields'][$field_name]['label'] : $field_name,
+          'description' => 'Field of type ' . $field['type'] . '.',
+          'type' => $type,
+          'getter callback' => 'entity_property_verbatim_get',
+          'setter callback' => 'entity_property_verbatim_set',
+          'schema field' => $field_name,
+        );
+      }
     }
   }
   return $info;
