diff --git a/ctools/content_types/entity_view.inc b/ctools/content_types/entity_view.inc
index e505633..4ab8675 100644
--- a/ctools/content_types/entity_view.inc
+++ b/ctools/content_types/entity_view.inc
@@ -113,7 +113,18 @@ function entity_entity_view_content_type_render($entity_type, $conf, $panel_args
   $block->delta = $entity_type . '-' . str_replace('-', '_', $conf['view_mode']);
 
   $entity_id = $context->argument;
-  $entity = entity_load_single($entity_type, $entity_id);
+  // Use node from context var to retrieve correct node revision
+  if (isset($context->data) && is_object($context->data) && $context->data->nid == $context->argument) {
+    $conditions = array(
+      'vid' => $context->data->vid,
+    );
+    $entities = entity_load($entity_type, array($entity_id), $conditions);
+    $entity = reset($entities);
+  }
+  else {
+    $entity = entity_load_single($entity_type, $entity_id);
+  }
+
   $block->content = entity_view($entity_type, array($entity_id => $entity), $conf['view_mode']);
   return $block;
 }
