--- plugins/views_plugin_style.original.inc	2012-07-04 16:29:57.000000000 +0200
+++ plugins/views_plugin_style.inc	2012-07-04 16:50:01.000000000 +0200
@@ -304,6 +304,7 @@
     $output = '';
     foreach ($sets as $set) {
       $row = reset($set['rows']);
+      $level = isset($set['level']) ? $set['level'] : 0;
       // Render as a grouping set.
       if (is_array($row) && isset($row['group'])) {
         $output .= theme(views_theme_functions('views_view_grouping', $this->view, $this->display),
@@ -394,7 +395,7 @@
         // hierarchically positioned set where the current row belongs to.
         // While iterating, parent groups, that do not exist yet, are added.
         $set = &$sets;
-        foreach ($groupings as $info) {
+        foreach ($groupings as $level => $info) {
           $field = $info['field'];
           $rendered = isset($info['rendered']) ? $info['rendered'] : $group_rendered;
           $rendered_strip = isset($info['rendered_strip']) ? $info['rendered_strip'] : FALSE;
@@ -427,6 +428,7 @@
           // Create the group if it does not exist yet.
           if (empty($set[$grouping])) {
             $set[$grouping]['group'] = $group_content;
+            $set[$grouping]['level'] = $level;
             $set[$grouping]['rows'] = array();
           }
 
