diff -ur views/plugins/views_plugin_style.inc views/plugins/views_plugin_style.inc
--- views/plugins/views_plugin_style.inc	2009-06-18 15:27:32.000000000 -0400
+++ views/plugins/views_plugin_style.inc	2009-07-15 17:59:21.000000000 -0400
@@ -146,61 +125,38 @@
       return;
     }
 
-    // Group the rows according to the grouping field, if specified.
-    $sets = $this->render_grouping($this->view->result, $this->options['grouping']);
-
-    // Render each group separately and concatenate.  Plugins may override this
-    // method if they wish some other way of handling grouping.
-    $output = '';
-    foreach ($sets as $title => $records) {
-      if ($this->uses_row_plugin()) {
-        $rows = array();
-        foreach ($records as $label => $row) {
-          $rows[] = $this->row_plugin->render($row);
-        }
-      }
-      else {
-        $rows = $records;
-      }
-
-      $output .= theme($this->theme_functions(), $this->view, $this->options, $rows, $title);
-    }
-    return $output;
-  }
-
-  /**
-   * Group records as needed for rendering.
-   *
-   * @param $records
-   *   An array of records from the view to group.
-   * @param $grouping_field
-   *   The field id on which to group.  If empty, the result set will be given
-   *   a single group with an empty string as a label.
-   * @return
-   *   The grouped record set.
-   */
-  function render_grouping($records, $grouping_field = '') {
+    // render each row to a new array, and group records
     $sets = array();
-    if ($grouping_field) {
-      foreach ($records as $row) {
-        $grouping = '';
-        // Group on the rendered version of the field, not the raw.  That way,
-        // we can control any special formatting of the grouping field through
-        // the admin or theme layer or anywhere else we'd like.
-        if (isset($this->view->field[$grouping_field])) {
-          $grouping = $this->view->field[$grouping_field]->theme($row);
-          if ($this->view->field[$grouping_field]->options['label']) {
-            $grouping = $this->view->field[$grouping_field]->options['label'] . ': ' . $grouping;
+    $grouping_field = $this->options['grouping'];
+    if ($this->uses_row_plugin()) {
+      foreach ($this->view->result as $row) {
+        $rendered_row = $this->row_plugin->render($row);
+        if ($grouping_field) {
+          $grouping = '';
+          // Group on the rendered version of the field, not the raw.  That way,
+          // we can control any special formatting of the grouping field through
+          // the admin or theme layer or anywhere else we'd like.
+          if (isset($this->view->field[$grouping_field])) {
+            $grouping = $this->view->field[$grouping_field]->last_render;// don't use ->theme($row) since it adds extraneous markup;
+            if ($this->view->field[$grouping_field]->options['label']) {
+              $grouping = $this->view->field[$grouping_field]->options['label'] . ': ' . $grouping;
+            }
           }
+          $sets[$grouping][] = $rendered_row;
         }
-        $sets[$grouping][] = $row;
       }
     }
     else {
-      // Create a single group with an empty grouping field.
-      $sets[''] = $records;
+      $sets[''] = $this->view->result;
     }
-    return $sets;
+
+    // Render each group separately and concatenate.  Plugins may override this
+    // method if they wish some other way of handling grouping.
+    $output = '';
+    foreach ($sets as $title => $rows) {
+      $output .= theme($this->theme_functions(), $this->view, $this->options, $rows, $title);
+    }
+    return $output;
   }
 
   function validate() {
diff -ur views/theme/views-view-list.tpl.php views/theme/views-view-list.tpl.php
--- views/theme/views-view-list.tpl.php	2008-09-30 15:47:11.000000000 -0400
+++ views/theme/views-view-list.tpl.php	2009-07-15 18:04:05.000000000 -0400
@@ -11,7 +11,7 @@
 ?>
 <div class="item-list">
   <?php if (!empty($title)) : ?>
-    <h3><?php print $title; ?></h3>
+    <?php print $title; ?>
   <?php endif; ?>
   <<?php print $options['type']; ?>>
     <?php foreach ($rows as $id => $row): ?>
diff -ur views/theme/views-view-unformatted.tpl.php views/theme/views-view-unformatted.tpl.php
--- views/theme/views-view-unformatted.tpl.php	2008-10-01 16:52:11.000000000 -0400
+++ views/theme/views-view-unformatted.tpl.php	2009-07-15 18:04:36.000000000 -0400
@@ -8,7 +8,7 @@
  */
 ?>
 <?php if (!empty($title)): ?>
-  <h3><?php print $title; ?></h3>
+  <?php print $title; ?>
 <?php endif; ?>
 <?php foreach ($rows as $id => $row): ?>
   <div class="<?php print $classes[$id]; ?>">
--- views.dev/plugins/views_plugin_style.inc	2009-06-18 15:27:32.000000000 -0400
+++ views/plugins/views_plugin_style.inc	2009-07-17 17:55:20.000000000 -0400
