diff --git a/views/views_plugin_ds_entity_view.inc b/views/views_plugin_ds_entity_view.inc
index b09c75f..9d038e7 100644
--- a/views/views_plugin_ds_entity_view.inc
+++ b/views/views_plugin_ds_entity_view.inc
@@ -23,6 +23,13 @@ class views_plugin_ds_entity_view extends views_plugin_row {
   // Return base_field based on base_table. It might not be
   // the cleanest solution, it's the fastest though.
   function ds_views_3_support() {
+    if (strpos($this->base_table, 'eck_') === 0) {
+      // Base tables of entities created by entity construction kit (eck)
+      // are prefixed with 'eck_' and the base field is always 'id'.
+      $this->entity_type = str_replace('eck_', '', $this->base_table);
+      return 'id';
+    }
+
     $base_table_fields = array(
       'node' => array('field' => 'nid', 'entity_type' => 'node'),
       'comment' => array('field' => 'cid', 'entity_type' => 'comment'),
diff --git a/views/views_plugin_ds_fields_view.inc b/views/views_plugin_ds_fields_view.inc
index ee23d53..5a1f56f 100644
--- a/views/views_plugin_ds_fields_view.inc
+++ b/views/views_plugin_ds_fields_view.inc
@@ -23,6 +23,12 @@ class views_plugin_ds_fields_view extends views_plugin_row {
   // Return base_field based on base_table. It might not be
   // the cleanest solution, it's the fastest though.
   function ds_views_3_support() {
+    if (strpos($this->base_table, 'eck_') === 0) {
+      // Base tables of entities created by entity construction kit (eck)
+      // are prefixed with 'eck_' and the base field is always 'id'.
+      return 'id';
+    }
+
     $base_table_fields = array(
       'node' => 'nid',
       'comment' => 'cid',
