diff --git a/entity_token.tokens.inc b/entity_token.tokens.inc
index 77a170d..0ea3e23 100644
--- a/entity_token.tokens.inc
+++ b/entity_token.tokens.inc
@@ -238,7 +238,7 @@ function entity_token_tokens($type, $tokens, array $data = array(), array $optio
         if (is_numeric($delta) && $chained_tokens = token_find_with_prefix($tokens, $delta)) {
           $wrapper = !isset($wrapper) ? _entity_token_wrap_data($type, "list<$token_types[$item_token_type]>", $data[$type], $options) : $wrapper;
           try {
-            $replacements += token_generate($item_token_type, $chained_tokens, array($item_token_type => $wrapper->get($delta)->value()), $options);
+            $replacements += token_generate($item_token_type, $chained_tokens, array($item_token_type => $wrapper->get( intval($delta) - 1 )->value()), $options);
           }
           catch (EntityMetadataWrapperException $e) {
             // If tokens for not existing values are requested, just do nothing.
