diff --git a/storm.module b/storm.module
index e267389..13ae857 100644
--- a/storm.module
+++ b/storm.module
@@ -161,7 +161,7 @@ function storm_theme() {
   return array(
     'storm_form_group' => array(
       'file'      => 'storm.theme.inc',
-      'arguments' => array('header', 'form'),
+      'render element' => 'element',
     ),
     'datetime' => array(
       'file'      => 'storm.theme.inc',
diff --git a/storm.theme.inc b/storm.theme.inc
index 5b8ecfc..3c7ab37 100644
--- a/storm.theme.inc
+++ b/storm.theme.inc
@@ -5,17 +5,28 @@
  * Provides theme functions for Storm modules
  */
 
-function theme_storm_form_group($form) {
-  drupal_add_css(drupal_get_path('module', 'storm') .'/storm.css', 'module');
-  $output = NULL; // Variable set as per issue 684016.
+function theme_storm_form_group($variables) {
+  $element = $variables['element'];
+
+  drupal_add_css(drupal_get_path('module', 'storm') .'/storm.css');
 
   $row = array();
-  foreach (element_children($form) as $key) {
-    array_push($row, drupal_render($form[$key]));
+  foreach (element_children($element) as $key) {
+    array_push($row, drupal_render($element[$key]));
   }
-  $rows[] = array('data' => $row, 'class' => 'formgroup');
-  $output .= theme('table', array(), $rows, array('class' => 'formgroup'));
-  return $output;
+
+  $rows = array(
+    array(
+      'data' => $row,
+      'class' => array('formgroup')
+    )
+  );
+
+  return theme('table', array(
+    'header' => array(),
+    'rows' => $rows,
+    'attributes' => array('class' => array('formgroup'))
+  ));
 }
 
 function theme_datetime($element) {
diff --git a/stormorganization/stormorganization.module b/stormorganization/stormorganization.module
index 57ea8e7..894c250 100644
--- a/stormorganization/stormorganization.module
+++ b/stormorganization/stormorganization.module
@@ -255,7 +255,7 @@ function stormorganization_form(&$node) {
 
   $form['group1'] = array(
     '#type' => 'markup',
-//    '#theme' => 'storm_form_group',
+    '#theme' => 'storm_form_group',
     '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group1') : -20,
   );
 
@@ -279,13 +279,13 @@ function stormorganization_form(&$node) {
 
   $form['group2'] = array(
     '#type' => 'markup',
-//    '#theme' => 'storm_form_group',
+    '#theme' => 'storm_form_group',
     '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group2') : -19,
   );
 
   $form['group3'] = array(
     '#type' => 'markup',
-//    '#theme' => 'storm_form_group',
+    '#theme' => 'storm_form_group',
     '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group3') : -18,
   );
 
@@ -331,7 +331,7 @@ function stormorganization_form(&$node) {
 
   $form['group4'] = array(
     '#type' => 'markup',
-//    '#theme' => 'storm_form_group',
+    '#theme' => 'storm_form_group',
     '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group4') : -17,
   );
 
@@ -357,7 +357,7 @@ function stormorganization_form(&$node) {
 
   $form['group5'] = array(
     '#type' => 'markup',
-//    '#theme' => 'storm_form_group',
+    '#theme' => 'storm_form_group',
     '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group5') : -16,
   );
 
