diff --git a/views_content/plugins/views/views_content_plugin_display_panel_pane.inc b/views_content/plugins/views/views_content_plugin_display_panel_pane.inc
index bfc77e0..eb420af 100644
--- a/views_content/plugins/views/views_content_plugin_display_panel_pane.inc
+++ b/views_content/plugins/views/views_content_plugin_display_panel_pane.inc
@@ -50,9 +50,18 @@ class views_content_plugin_display_panel_pane extends views_plugin_display {
 
   function set_pane_conf($conf = array(), $set_cache = TRUE) {
     $this->set_option('pane_conf', $conf);
-    $this->view->dom_id = !empty($this->view->dom_id) ? $this->view->dom_id : md5($this->view->name . REQUEST_TIME . rand());
+    if (empty($this->view->cid)) {
+      global $user;
+      global $language;
+      $this->view->cid = 'view_panel_pane:'
+      . md5($this->view->name . '_'
+      . $this->view->current_display . '_'
+      . serialize($this->view->args) . '_'
+      . $language->language . '_'
+      . $user->uid);
+    }
     if ($set_cache) {
-      cache_set('view_panel_pane_' . $this->view->dom_id, $conf);
+      cache_set($this->view->cid, $conf, 'cache_views');
     }
     $this->has_pane_conf = TRUE;
   }
@@ -425,14 +434,14 @@ class views_content_plugin_display_panel_pane extends views_plugin_display {
     ctools_include('context');
     $conf = $this->get_option('pane_conf');
     if (!$conf) {
-      // See if dom id has been cached and get conf from there.
-      if (!empty($this->view->dom_id) && ($cache = cache_get('view_panel_pane_' . $this->view->dom_id))) {
+      // See if cache id has been cached and get conf from there.
+      if (!empty($this->view->cid)
+        && ($cache = cache_get($this->view->cid, 'cache_views'))) {
         $conf = $cache->data;
       }
       if (!$conf) {
         return;
       }
-      $this->set_pane_conf($conf);
     }
     $contexts = $conf['pane_contexts'];
     $panel_args = $conf['panel_args'];
