diff -Naur a/src/Plugin/Block/MenuBlock.php b/src/Plugin/Block/MenuBlock.php
--- a/src/Plugin/Block/MenuBlock.php	2016-09-05 10:00:00.000000000 +0200
+++ b/src/Plugin/Block/MenuBlock.php	2016-10-06 11:57:20.777066084 +0200
@@ -41,6 +41,13 @@
       '#description' => $this->t('All menu links that have children will "Show as expanded".'),
     ];
 
+    $form['advanced']['follow'] = [
+      '#type' => 'checkbox',
+      '#title' => $this->t('<strong>Follow active trail</strong>'),
+      '#default_value' => $config['follow'],
+      '#description' => $this->t('Follow current active trail.'),
+    ];
+
     $menu_name = $this->getDerivativeId();
     $menus = Menu::loadMultiple(array($menu_name));
     $menus[$menu_name] = $menus[$menu_name]->label();
@@ -102,6 +109,7 @@
     $this->configuration['depth'] = $form_state->getValue('depth');
     $this->configuration['expand'] = $form_state->getValue('expand');
     $this->configuration['parent'] = $form_state->getValue('parent');
+    $this->configuration['follow'] = $form_state->getValue('follow');
     $this->configuration['suggestion'] = $form_state->getValue('suggestion');
   }
 
@@ -111,14 +119,23 @@
   public function build() {
     $menu_name = $this->getDerivativeId();
     $parameters = $this->menuTree->getCurrentRouteMenuTreeParameters($menu_name);
-
     // Adjust the menu tree parameters based on the block's configuration.
     $level = $this->configuration['level'];
     $depth = $this->configuration['depth'];
     $expand = $this->configuration['expand'];
     $parent = $this->configuration['parent'];
+    $follow = $this->configuration['follow'];
     $suggestion = $this->configuration['suggestion'];
 
+    if ($follow) {
+      $level = 1;
+      end($parameters->activeTrail);
+      $root_item = current($parameters->activeTrail);
+      if (empty($root_item) && count($parameters->activeTrail) > 1) {
+        $root_item = prev($parameters->activeTrail);
+      }
+      $parameters->setRoot($root_item);
+    }
     $parameters->setMinDepth($level);
     // When the depth is configured to zero, there is no depth limit. When depth
     // is non-zero, it indicates the number of levels that must be displayed.
