diff --git a/core/lib/Drupal/Core/Template/TwigNodeTrans.php b/core/lib/Drupal/Core/Template/TwigNodeTrans.php
index f905f75..000a5ed 100644
--- a/core/lib/Drupal/Core/Template/TwigNodeTrans.php
+++ b/core/lib/Drupal/Core/Template/TwigNodeTrans.php
@@ -153,8 +153,22 @@ protected function compileString(\Twig_NodeInterface $body) {
             $args = $args->getNode('node');
           }
           if ($args instanceof \Twig_Node_Expression_GetAttr) {
-            $argName = $args->getNode('attribute')->getAttribute('value');
-            $expr = $n;
+            $argName = array();
+            // We don't need
+            $expr = $args;
+            // We need to traverse
+            $argName[] = $args->getNode('attribute')->getAttribute('value');
+            while ($args->hasNode('node')) {
+              $args = $args->getNode('node');
+              if (!$args instanceof \Twig_Node_Expression_Name) {
+                $argName[] = $args->getAttribute('name');
+              }
+              else {
+                $argName[] = $args->getNode('attribute')->getAttribute('value');
+              }
+            }
+            $argName = array_reverse($argName);
+            $argName = implode('.', $argName);
           }
           else {
             $argName = $n->getAttribute('name');
diff --git a/core/modules/system/src/Tests/Theme/TwigTransTest.php b/core/modules/system/src/Tests/Theme/TwigTransTest.php
index 61812a3..314bed1 100644
--- a/core/modules/system/src/Tests/Theme/TwigTransTest.php
+++ b/core/modules/system/src/Tests/Theme/TwigTransTest.php
@@ -141,12 +141,10 @@ public function testTwigTransTags() {
     );
 
     // @TODO uncomment this
-    /*
     $this->assertRaw(
       'DIS complex token HAZ LENGTH OV: 3. IT CONTAYNZ: <em class="placeholder">12345</em> AN &amp;&quot;&lt;&gt;. LETS PAS TEH BAD TEXT THRU: &"<>.',
       '{{ complex.tokens }} were successfully translated with appropriate prefixes.'
     );
-    */
 
     $this->assertText(
       'I have context.',
