diff --git a/field_group_list.module b/field_group_list.module
index 83391b4..350932e 100644
--- a/field_group_list.module
+++ b/field_group_list.module
@@ -40,21 +40,15 @@
  *   the array that contains all theme variables
  */
 function theme_field_group_list_group_wrapper($variables) {
-  $group = $variables['group'];
-  $element = $variables['element'];
-  $element['#type'] = 'markup';
-  $element['#weight'] = $group->weight;
-  $classes = check_plain($group->format_settings['instance_settings']['classes']);
+  foreach (element_children($element) as $field_name) {
+    $items[] = '<li class="' . $group->group_name . ' ' . $classes . '">' . drupal_render($element[$field_name]) . '</li>';
+  }
+
   if ($group->format_settings['formatter'] == 'ordered') {
-    $element['#prefix'] = '<ol class="field-group-format ' . $group->group_name . ' ' . $classes . '">';
-    $element['#suffix'] = '</ol>';
+    $element = '<ol class="field-group-format ' . $group->group_name . ' ' . $classes . '">' . implode("\n" , $items) . '</ol>';
   }
   else {
-    $element['#prefix'] = '<ul class="field-group-format ' . $group->group_name . ' ' . $classes . '">';
-    $element['#suffix'] = '</ul>';
-  }
-  foreach (element_children($element) as $field_name) {
-    $element[$field_name] += theme('field_group_list_field_wrapper', array('group' => $group, 'field_name' => $field_name));
+    $element = '<ul class="field-group-format ' . $group->group_name . ' ' . $classes . '">' . implode("\n" , $items) . '</ul>';
   }
   return $element;
 }
@@ -101,6 +95,9 @@
  */
 function field_group_list_field_group_pre_render(&$element, $group, &$form) {
   if ($group->format_type === 'list') {
-    $element = theme('field_group_list_group_wrapper', array('element' => $element, 'group' => $group));
+    $element['#theme'] = 'field_group_list_group_wrapper';
+    $element['#element'] = $element;
+    $element['#group'] = $group;
+    //$element = theme('field_group_list_group_wrapper', array('element' => $element, 'group' => $group));
   }
 }
