diff --git a/plugins/QuickViewContent.inc b/plugins/QuickViewContent.inc
index 71dd090..8f5ad1f 100644
--- a/plugins/QuickViewContent.inc
+++ b/plugins/QuickViewContent.inc
@@ -120,9 +120,16 @@ class QuickViewContent extends QuickContent {
       if (module_exists('views')) {
         if ($view = views_get_view($item['vid'])) {
           if ($view->access($item['display'])) {
-            $view->set_display($item['display']);
-            $view->set_arguments($item['actual_args']);
-            $view_output = $view->preview();
+            $cid = $item['vid'] . ':' . $item['display'] . ':' . implode(',', $item['actual_args']);
+            if ($cache = cache_get($cid, 'cache')) {
+              $view_output = $cache->data;
+            }
+            else {
+              $view->set_display($item['display']);
+              $view->set_arguments($item['actual_args']);
+              $view_output = $view->preview();
+              cache_set($cid, $view_output, 'cache', time() + 5*60);
+            }
             if (!empty($view->result) || $view->display_handler->get_option('empty') || !empty($view->style_plugin->definition['even empty'])) {
               $output['#markup'] = $view_output;
             }
