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 76bbb42..b22190c 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
@@ -158,8 +158,8 @@ function usesFields() {
     // If we use a row plugin, ask the row plugin. Chances are, we don't
     // care, it does.
     $row_uses_fields = FALSE;
-    if ($this->usesRowPlugin() && !empty($this->view->rowPlugin)) {
-      $row_uses_fields = $this->view->rowPlugin->usesFields();
+    if ($this->usesRowPlugin() && ($row_plugin = $this->displayHandler->getPlugin('row'))) {
+      $row_uses_fields = $row_plugin->usesFields();
     }
     // Otherwise, check the definition or the option.
     return $row_uses_fields || $this->usesFields || !empty($this->options['uses_fields']);
diff --git a/core/modules/views/tests/views_test_data/lib/Drupal/views_test_data/Plugin/views/style/StyleTest.php b/core/modules/views/tests/views_test_data/lib/Drupal/views_test_data/Plugin/views/style/StyleTest.php
index f7d2c7d..8c94280 100644
--- a/core/modules/views/tests/views_test_data/lib/Drupal/views_test_data/Plugin/views/style/StyleTest.php
+++ b/core/modules/views/tests/views_test_data/lib/Drupal/views_test_data/Plugin/views/style/StyleTest.php
@@ -34,6 +34,13 @@ class StyleTest extends StylePluginBase {
   public $output;
 
   /**
+   * Does the style plugin allows to use style plugins.
+   *
+   * @var bool
+   */
+  protected $usesRowPlugin = TRUE;
+
+  /**
    * Overrides Drupal\views\Plugin\views\style\StylePluginBase::defineOptions().
    */
   protected function defineOptions() {
diff --git a/core/modules/views_ui/lib/Drupal/views_ui/Tests/StyleUITest.php b/core/modules/views_ui/lib/Drupal/views_ui/Tests/StyleUITest.php
index 5666547..4a39c82 100644
--- a/core/modules/views_ui/lib/Drupal/views_ui/Tests/StyleUITest.php
+++ b/core/modules/views_ui/lib/Drupal/views_ui/Tests/StyleUITest.php
@@ -64,6 +64,13 @@ public function testStyleUI() {
     $style = $view->display_handler->getOption('style');
     $this->assertEqual($style['type'], 'test_style', 'Make sure that the test_style got saved as used style plugin.');
     $this->assertEqual($style['options']['test_option'], $random_name, 'Make sure that the custom settings field got saved as expected.');
+
+    // Test that fields are working correctly in the UI for style plugins when
+    // a field row plguin is selected.
+    $this->drupalPost("admin/structure/views/view/$view_name/edit", array(), 'Add Page');
+    $this->drupalPost("admin/structure/views/nojs/display/$view_name/page_1/row", array('row' => 'fields'), t('Apply'));
+    // If fields are being used this text will not be shown.
+    $this->assertNoText(t('The selected style or row format does not utilize fields.'));
   }
 
 }
