diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/style/StylePluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/style/StylePluginBase.php
index 2fe7cfa..3124a46 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/style/StylePluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/style/StylePluginBase.php
@@ -83,6 +83,18 @@
   protected $rendered_fields;
 
   /**
+   * The theme function used to render the grouping set.
+   *
+   * Plugins may override this attribute if they wish to use some other theme
+   * function to render the grouping set.
+   *
+   * @var string
+   *
+   * @see StylePluginBase::render_grouping_sets()
+   */
+  protected $groupingTheme = 'views_view_grouping';
+
+  /**
    * Overrides \Drupal\views\Plugin\views\PluginBase::init().
    *
    * The style options might come externally as the style can be sourced from at
@@ -445,7 +457,7 @@ function render() {
    */
   function render_grouping_sets($sets, $level = 0) {
     $output = array();
-    $theme_functions = views_theme_functions('views_view_grouping', $this->view, $this->view->display_handler->display);
+    $theme_functions = views_theme_functions($this->groupingTheme, $this->view, $this->view->display_handler->display);
     foreach ($sets as $set) {
       $row = reset($set['rows']);
       // Render as a grouping set.
