diff --git a/js/conditional_fields.js b/js/conditional_fields.js
index a45961f..a96bb5e 100644
--- a/js/conditional_fields.js
+++ b/js/conditional_fields.js
@@ -139,4 +139,14 @@ Drupal.behaviors.conditionalFields = {
   }
 };
 
+// Hide fieldsets unless one of their fields is visible.
+$(document).bind('state:visible', function(e) {
+  if (e.trigger) {
+    var $wrapper = $(e.target).closest('.fieldset-wrapper');
+    if ($wrapper.length) {
+      $wrapper.closest('fieldset').show().toggle($wrapper.children('.form-wrapper:visible').length > 0);
+    }
+  }
+});
+
 })(jQuery);
