diff --git a/jcarousel.module b/jcarousel.module
index 0164dbf..41c65cb 100644
--- a/jcarousel.module
+++ b/jcarousel.module
@@ -346,7 +346,15 @@ function theme_jcarousel($variables) {
   $output = '<ul class="' . $classes . '">';
   if (is_array($items)) {
     foreach ($items as $item) {
-      $output .= '<li>' . $item . '</li>';
+      if (is_array($item)) {
+        $data = drupal_render($item);
+      } else {
+        $data = $item;
+      }
+      if (!empty($data)) {
+        // Don't output if no data has been rendered (item may have been hidden by hide())
+        $output .= '<li>' . $data . '</li>';
+      }
     }
   }
   $output .= '</ul>';
