diff --git a/entityreference_count.module b/entityreference_count.module
index 573cc98..857a60a 100644
--- a/entityreference_count.module
+++ b/entityreference_count.module
@@ -160,7 +160,7 @@ function entityreference_count_field_formatter_view($entity_type, $entity, $fiel
 /**
  * Implements hook_field_presave().
  */
-function entityreference_count_field_presave($entity_type, $entity, $field, $instance, $langcode, &$items) {
+function entityreference_count_field_insert($entity_type, $entity, $field, $instance, $langcode, &$items) {
   if ($field['type'] == 'entityreference_count') {
     $items[0]['count'] = entityreference_count_get_count($instance['settings'], $entity_type, $entity);
   }
@@ -220,7 +220,7 @@ function entityreference_count_get_count($settings, $entity_type, $entity) {
     return;
   }
 
-  if (!empty($db)) {
+  if (!empty($db) && !isset($entity_info['entity keys']['id'])) {
     $base_table = $entity_info['base table'];
     $entity_key_id = $entity_info['entity keys']['id'];
