diff --git a/webform_entity.module b/webform_entity.module
index e634769..85fa121 100644
--- a/webform_entity.module
+++ b/webform_entity.module
@@ -849,15 +849,24 @@ function webform_entity_delete_webform_submission($id) {
  * View callback to show a submission.
  */
 function webform_entity_submission_view($entities, $view_mode, $langcode, $entity_type) {
-  include_once(drupal_get_path('module', 'webform') . '/includes/webform.submissions.inc');
-  $output = '';
-  foreach ($entities as $entity) {
+  module_load_include('inc', 'webform', 'includes/webform.submissions');
+
+  $build = array();
+  foreach ($entities as $key => $entity) {
     if (isset($entity->sid)) {
       $submission = webform_get_submission($entity->nid, $entity->sid);
       $node = node_load($entity->nid);
-      $output .= webform_submission_render($node, $submission, NULL, 'html');
+      $build[$key]['#markup'] = webform_submission_render($node, $submission, NULL, 'html');
     }
   }
-  return array('#markup' => $output);
+  return array('webform_submission_entity' => $build);
 }
 
+/**
+ * Implements hook_views_data_alter().
+ *
+ * Informs Views that we are providing an entity type for this base table.
+ */
+function webform_entity_views_data_alter(&$data) {
+  $data['webform_submissions']['table']['entity type'] = 'webform_submission_entity';
+}
