diff --git a/poll.module b/poll.module
index 1d6da824d..e0f669ee2 100644
--- a/poll.module
+++ b/poll.module
@@ -77,7 +77,8 @@ function poll_theme() {
         'choice' => NULL,
         'value' => NULL,
         'percentage' => NULL,
-        'attributes' => array()
+        'attributes' => array(),
+        'poll' => NULL,
       ),
     ),
   );
@@ -144,7 +145,7 @@ function template_preprocess_poll_vote(&$variables) {
  *     tag.
  */
 function template_preprocess_poll_meter(&$variables) {
-
+  $poll = $variables['poll'];
   $attributes = $variables['attributes'];
   foreach (array(
              'form',
@@ -163,7 +164,9 @@ function template_preprocess_poll_meter(&$variables) {
       $attributes['data-' . $key] = $variables[$key];
     }
   }
-
+  $current_user_vote = \Drupal::service('poll_vote.storage')->getUserVote($poll);
+  $options = $poll->getOptions();
+  $variables['is_current_selection'] = (int) $current_user_vote['chid'] === array_search($variables['choice'], $options);
   $variables['attributes'] = new Attribute($attributes);
 }
 
diff --git a/src/Form/PollViewForm.php b/src/Form/PollViewForm.php
index 2d4835293..6f0714a8c 100644
--- a/src/Form/PollViewForm.php
+++ b/src/Form/PollViewForm.php
@@ -258,6 +258,7 @@ class PollViewForm extends FormBase implements BaseFormIdInterface {
         '#value' => $vote,
         '#percentage' => $percentage,
         '#attributes' => array('class' => array('bar')),
+        '#poll' => $poll,
       );
     }
 
diff --git a/templates/poll-meter.html.twig b/templates/poll-meter.html.twig
index c68048199..57e45d1f7 100644
--- a/templates/poll-meter.html.twig
+++ b/templates/poll-meter.html.twig
@@ -23,8 +23,9 @@
  * @ingroup themeable
  */
 #}
-<dt class="choice-title">{{ choice }}</dt>
-<dd class="choice-result">
+{% set is_current_selection_class = is_current_selection ? 'is-current-selection' : 'not-current-selection' %}
+<dt class="choice-title {{ is_current_selection_class }}">{{ choice }}</dt>
+<dd class="choice-result {{ is_current_selection_class }}">
   <div{{ attributes }}>
     <div style="width: {{ percentage }}%" class="foreground"></div>
   </div>
diff --git a/tests/src/FunctionalJavascript/PollVoteJavascriptTest.php b/tests/src/FunctionalJavascript/PollVoteJavascriptTest.php
index a1eb6d4f3..0176aece8 100644
--- a/tests/src/FunctionalJavascript/PollVoteJavascriptTest.php
+++ b/tests/src/FunctionalJavascript/PollVoteJavascriptTest.php
@@ -3,7 +3,7 @@
 namespace Drupal\Tests\poll\FunctionalJavascript;
 
 use Drupal\Component\Render\FormattableMarkup;
-use Drupal\FunctionalJavascriptTests\JavascriptTestBase;
+use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
 use Drupal\poll\PollInterface;
 use Symfony\Component\CssSelector\CssSelectorConverter;
 
@@ -12,7 +12,7 @@ use Symfony\Component\CssSelector\CssSelectorConverter;
  *
  * @group poll
  */
-class PollVoteJavascriptTest extends JavascriptTestBase {
+class PollVoteJavascriptTest extends WebDriverTestBase {
 
   /**
    * Admin user.
@@ -200,6 +200,8 @@ class PollVoteJavascriptTest extends JavascriptTestBase {
     $page = $session->getPage();
     $this->assertTrue($page->hasContent('Your vote has been recorded.'), 'Your vote was recorded.');
     $this->assertTrue($page->hasContent('Total votes: 1'), 'Vote count updated correctly.');
+    $this->assertCount(1, $this->cssSelect('.choice-title.is-current-selection'));
+    $this->assertCount(4, $this->cssSelect('.choice-title.not-current-selection'));
     $this->assertTrue($page->hasButton('Cancel vote'), "'Cancel your vote' button appears.");
   }
 
