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..7480daa 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,13 @@ 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->dom_id)) {
+      global $user;
+      global $language;
+      $this->view->dom_id = 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('view_panel_pane:' . $this->view->dom_id, $conf, 'cache_views');
     }
     $this->has_pane_conf = TRUE;
   }
@@ -426,13 +430,12 @@ class views_content_plugin_display_panel_pane extends views_plugin_display {
     $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))) {
+      if (!empty($this->view->dom_id) && ($cache = cache_get('view_panel_pane:' . $this->view->dom_id, 'cache_views'))) {
         $conf = $cache->data;
       }
       if (!$conf) {
         return;
       }
-      $this->set_pane_conf($conf);
     }
     $contexts = $conf['pane_contexts'];
     $panel_args = $conf['panel_args'];
