diff -u b/views/handlers/entity_views_handler_area_entity.inc b/views/handlers/entity_views_handler_area_entity.inc --- b/views/handlers/entity_views_handler_area_entity.inc +++ b/views/handlers/entity_views_handler_area_entity.inc @@ -105,11 +105,10 @@ * Render an entity using the view mode. */ public function render_entity($entity_type, $entity_id, $view_mode) { + $tokens = $this->get_render_tokens(); + // Replace argument tokens in entity id. + $entity_id = strtr($entity_id, $tokens); if (!empty($entity_type) && !empty($entity_id) && !empty($view_mode)) { - $tokens = $this->get_render_tokens(); - // Replace argument tokens in entity id. - $entity_id = strtr($entity_id, $tokens); - $entity = entity_load_single($entity_type, $entity_id); if (!empty($this->options['bypass_access']) || entity_access('view', $entity_type, $entity)) { $render = entity_view($entity_type, array($entity), $view_mode); @@ -144,7 +143,7 @@ // Use strip tags as there should never be HTML in the path. // However, we need to preserve special characters like " that // were removed by check_plain(). - $tokens['%' . $count] = isset($this->view->args[$count - 1]) ? strip_tags(decode_entities($this->view->args[$count - 1])) : ''; + $tokens['%' . $count] = $handler->argument; } return $tokens;