diff --git a/webform_random_fieldset/components/random_fieldset.inc b/webform_random_fieldset/components/random_fieldset.inc
new file mode 100644
index 0000000..aee8eec
--- /dev/null
+++ b/webform_random_fieldset/components/random_fieldset.inc
@@ -0,0 +1,102 @@
+<?php
+
+/**
+ * @file
+ * Webform Random Fieldset module component definition.
+ */
+
+/**
+ * Implements _webform_defaults_component().
+ */
+function _webform_defaults_random_fieldset() {
+  return array(
+    'name' => 'random_fieldset',
+    'form_key' => NULL,
+    'pid' => 0,
+    'weight' => 0,
+    'extra' => array(
+      'title_display' => 0,
+      'collapsible' => 0,
+      'collapsed' => 0,
+      'description' => '',
+      'description_above' => FALSE,
+      'private' => FALSE,
+    ),
+  );
+}
+
+/**
+ * Implements _webform_edit_component().
+ */
+function _webform_edit_random_fieldset($component) {
+  $form = array();
+  $form['display']['collapsible'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Collapsible'),
+    '#default_value' => $component['extra']['collapsible'],
+    '#description' => t('If this fieldset is collapsible, the user may open or close the fieldset.'),
+    '#weight' => 0,
+    '#parents' => array('extra', 'collapsible'),
+  );
+  $form['display']['collapsed'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Collapsed by Default'),
+    '#default_value' => $component['extra']['collapsed'],
+    '#description' => t('Collapsible fieldsets are "open" by default. Select this option to default the fieldset to "closed."'),
+    '#weight' => 3,
+    '#parents' => array('extra', 'collapsed'),
+  );
+  return $form;
+}
+
+/**
+ * Implements _webform_render_component().
+ */
+function _webform_render_random_fieldset($component, $value = NULL, $filter = TRUE, $submission = NULL) {
+  $node = isset($component['nid']) ? node_load($component['nid']) : NULL;
+
+  $element = array(
+    '#type' => 'fieldset',
+    '#title' => $filter ? webform_filter_xss($component['name']) : $component['name'],
+    '#title_display' => $component['extra']['title_display'] ? $component['extra']['title_display'] : NULL,
+    '#weight' => $component['weight'],
+    '#description' => $filter ? webform_filter_descriptions($component['extra']['description'], $node) : $component['extra']['description'],
+    '#collapsible' => $component['extra']['collapsible'],
+    '#collapsed' => $component['extra']['collapsed'],
+    '#attributes' => array('class' => array('webform-component-random-fieldset')),
+    '#pre_render' => array('webform_random_fieldset_prerender', 'webform_element_title_display'),
+    '#translatable' => array('title', 'description'),
+  );
+
+  return $element;
+}
+
+/**
+ * Pre-render function to set a unique fieldset class name.
+ */
+function webform_random_fieldset_prerender($element) {
+  $element['#id'] = NULL;
+  $element['#attributes']['class'][] = 'webform-component--' . str_replace('_', '-', implode('--', array_slice($element['#parents'], 1)));
+  return $element;
+}
+
+/**
+ * Implements _webform_display_component().
+ */
+function _webform_display_random_fieldset($component, $value, $format = 'html', $submission = array()) {
+  if ($format == 'text') {
+    $element = array(
+      '#title' => $component['name'],
+      '#weight' => $component['weight'],
+      '#theme_wrappers' => array('webform_element_text'),
+      '#translatable' => array('title'),
+    );
+  }
+  else {
+    $element = _webform_render_fieldset($component, $value);
+  }
+
+  $element['#format'] = $format;
+
+  return $element;
+}
diff --git a/webform_random_fieldset/webform_random_fieldset.info b/webform_random_fieldset/webform_random_fieldset.info
new file mode 100644
index 0000000..60fdd7e
--- /dev/null
+++ b/webform_random_fieldset/webform_random_fieldset.info
@@ -0,0 +1,7 @@
+name = Webform Random Fieldset
+description = Adds a random fieldset component to randomize display of all fields contained within.
+core = 7.x
+package = Webform
+version = 7.x-1.x-dev
+
+dependencies[] = webform_random
diff --git a/webform_random_fieldset/webform_random_fieldset.module b/webform_random_fieldset/webform_random_fieldset.module
new file mode 100644
index 0000000..6ca8646
--- /dev/null
+++ b/webform_random_fieldset/webform_random_fieldset.module
@@ -0,0 +1,35 @@
+<?php
+
+/**
+ * @file
+ * Webform Random Fieldset module.
+ *
+ * Adds a random fieldset component that randomizes all fields contained within.
+ *
+ * @author Nick Landis (@BiigNiick)
+ */
+
+/**
+ * Implements hook_webform_component_info
+ */
+function webform_random_fieldset_webform_component_info() {
+
+  $component_info = array(
+    'random_fieldset' => array(
+      'label' => t('Random Fieldset'),
+      'description' => t('Random fieldsets allow you to organize multiple fields into randomized groups.'),
+      'features' => array(
+        'csv' => FALSE,
+        'default_value' => FALSE,
+        'required' => FALSE,
+        'conditional' => FALSE,
+        'group' => TRUE,
+        'title_inline' => FALSE,
+        'wrapper_classes' => FALSE,
+      ),
+      'file' => 'components/random_fieldset.inc',
+    ),
+  );
+
+  return $component_info;
+}
