diff --git a/plugins/display_renderers/panels_renderer_legacy.class.php b/plugins/display_renderers/panels_renderer_legacy.class.php
index 42fb01c..298e8e0 100644
--- a/plugins/display_renderers/panels_renderer_legacy.class.php
+++ b/plugins/display_renderers/panels_renderer_legacy.class.php
@@ -220,13 +220,19 @@ class panels_renderer_legacy {
       $content = $cache->content;
     }
     else {
+      if ($caching) {
+        $cache = new panels_cache_object();
+      }
       $content = ctools_content_render($pane->type, $pane->subtype, $pane->configuration, array(), $this->display->args, $this->display->context);
+      if (empty($content)) {
+        return;
+      }
+
       foreach (module_implements('panels_pane_content_alter') as $module) {
         $function = $module . '_panels_pane_content_alter';
         $function($content, $pane, $this->display->args, $this->display->context);
       }
-      if ($caching) {
-        $cache = new panels_cache_object();
+      if ($caching && isset($cache)) {
         $cache->set_content($content);
         panels_set_cached_content($cache, $this->display, $this->display->args, $this->display->context, $pane);
         $content = $cache->content;
