diff --git a/webform_random.info b/webform_random.info
index 5639e9a..4d564c4 100644
--- a/webform_random.info
+++ b/webform_random.info
@@ -2,5 +2,6 @@ name = Webform Random
 description = Gives each webform a checkbox to enable random display of all webform components.
 core = 7.x
 package = Webform
+version = 7.x-1.x-dev
 
 dependencies[] = webform
diff --git a/webform_random.module b/webform_random.module
index ce29812..55f3799 100644
--- a/webform_random.module
+++ b/webform_random.module
@@ -10,30 +10,50 @@
  */
 
 function webform_random_form_webform_configure_form_alter(&$form, &$form_state, $form_id) {
-	/* Random Settings */
-	$form['random'] = array(
-		'#type' => 'checkbox',
-		'#weight' => '-100',
-		'#default_value' => variable_get('webform_random_randomize_'.$form['nid']['#value'], 0 ),
-		'#title' => t('Randomize form elements'),
-		);
+  /* Random Settings */
+  $form['random'] = array(
+    '#type' => 'checkbox',
+    '#weight' => '-100',
+    '#default_value' => variable_get('webform_random_randomize_' . $form['nid']['#value'], 0),
+    '#title' => t('Randomize form elements'),
+    );
 //  SOMETHING NOT WORKING CORRECTLY HERE
-	 $form['actions']['submit']['#submit'][] = 'webform_random_save_submit';
-
+   $form['actions']['submit']['#submit'][] = 'webform_random_save_submit';
 }
+
+/**
+ * Submit handler for configure form.
+ */
 function webform_random_save_submit ($form, &$form_state) {
-	variable_set('webform_random_randomize_'.$form['nid']['#value'], $form_state['values']['random']);
+  variable_set('webform_random_randomize_' . $form['nid']['#value'], $form_state['values']['random']);
 }
 
-
+/**
+ * Implements hook_form_alter().
+ */
 function webform_random_form_alter(&$form, &$form_state, $form_id) {
-	if (substr($form_id, 0, 20) == 'webform_client_form_' && variable_get('webform_random_randomize_'.$form['#node']->nid, 0 )) {
-		foreach	($form['submitted'] as $key => $value) {
-			if (is_array($value)) {
-				$form['submitted'][$key]['#weight'] = rand(-100, 100);
-			}
-		}
-	}
-
+  if (substr($form_id, 0, 20) == 'webform_client_form_') {
+    if (variable_get('webform_random_randomize_' . $form['#node']->nid, 0)) {
+      foreach ($form['submitted'] as $key => $value) {
+        $attribute = (substr($key, 0, 1) == '#');
+        if (!$attribute && isset($form['submitted'][$key]['#webform_component'])) {
+          $form['submitted'][$key]['#weight'] = rand(-100, 100);
+        }
+      }
+    }
+    if (module_exists('webform_random_fieldset')) {
+      foreach ($form['submitted'] as $key => $value) {
+        if (isset($form['submitted'][$key]['#webform_component'])) {
+          if ($form['submitted'][$key]['#webform_component']['type'] == 'random_fieldset') {
+            foreach ($form['submitted'][$key] as $k => $v) {
+              $attribute = (substr($k, 0, 1) == '#');
+              if (!$attribute && isset($form['submitted'][$key][$k]['#webform_component'])) {
+                $form['submitted'][$key][$k]['#weight'] = rand(-100, 100);
+              }
+            }
+          }
+        }
+      }
+    }
+  }
 }
-
