diff --git a/js/conditional_fields.js b/js/conditional_fields.js
index a45961f..7ba372f 100644
--- a/js/conditional_fields.js
+++ b/js/conditional_fields.js
@@ -139,4 +139,24 @@ 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) {
+      var hidden = true;
+      $wrapper.children('.form-wrapper').each(function (index, element) {
+        if ($(element).css('display') != 'none') {
+          hidden = false;
+        }
+      });
+      if (hidden) {
+        $wrapper.closest('fieldset').hide();
+      } else {
+        $wrapper.closest('fieldset').show();
+      }
+    }
+  }
+});
+
 })(jQuery);
